创建OpenExcel并下载它

时间:2013-04-17 06:22:36

标签: c# asp.net

我有这个代码用于创建Excel文件,然后将其发送下载:

Stream stream = Stream.Null;
using (ExcelDocument doc = ExcelDocument.CreateWorkbook(stream)) 
{
     ExcelWorksheet wsheet = doc.Workbook.Worksheets.Add("Assessment");
     doc.EnsureStylesDefined();
     // add some cells              
}

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "inline;filename=Assessment.xlsx;charset=utf-8;");
Response.BinaryWrite(Utilities.Utilities.ConvertFileToByteArray(stream));
Response.End();

当它结束使用时,我收到此错误:

  

文件包含损坏的数据。

如果我将文件保存到我的磁盘,它可以正常工作。

我哪里出错?

我正在使用此Component

1 个答案:

答案 0 :(得分:3)

将第一行更改为:

MemoryStream stream = new MemoryStream();

同时更改

Response.BinaryWrite(Utilities.Utilities.ConvertFileToByteArray(stream));

Response.BinaryWrite(stream.ToArray());