Speichern Sie ein Byte -Array in Excel -DateiC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Speichern Sie ein Byte -Array in Excel -Datei

Post by Anonymous »

Ich bekomme ein Byte -Array aus dem SSRS -Bericht. Dann möchte ich es auf dem Server für eine weitere Verarbeitung in Excel speichern. Gibt jedoch den Fehler beim Öffnen von "Excel kann die Datei nicht öffnen, da das Dateiformat oder die Dateierweiterung nicht gültig ist". < /P>
Code ist wie folgt < /p>

Code: Select all

Microsoft.Reporting.WebForms.ReportViewer rview = new Microsoft.Reporting.WebForms.ReportViewer();
//Web Address of your report server (ex: http://rserver/reportserver)

rview.ServerReport.ReportServerUrl = new Uri("http://rserver/reportserver");

rview.ServerReport.ReportPath = "/Report Project2/Comment";

string mimeType, encoding, extension, deviceInfo;
string[] streamids;
Microsoft.Reporting.WebForms.Warning[] warnings;
string format = "Excel"; //Desired format goes here (PDF, Excel, or Image)

deviceInfo = "" + "True" + "";
byte[] bytes = rview.ServerReport.Render(format, deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);

try
{
System.IO.FileStream _FileStream = new System.IO.FileStream(Server.MapPath("output.xlsx"), System.IO.FileMode.Create, System.IO.FileAccess.Write);
_FileStream.Write(bytes, 0, bytes.Length);
//_FileStream.Close();
}
catch (Exception _Exception)
{
Console.WriteLine("Exception caught in process: {0}", _Exception.ToString());
}
< /code>
Es weiß nicht, wie man Inor -Format, DeviceInfo usw. verwendet, mit Respose -Objekt Excel im Client -Browser.Response.Clear();

if (format == "PDF")
{
Response.ContentType = "application/pdf";
Response.AddHeader("Content-disposition", "filename=output.pdf");
}
else if (format == "Excel")
{
Response.ContentType = "application/excel";
Response.AddHeader("Content-disposition", "filename=output.xls");
}
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.Close();

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post