c# - 创建 OpenExcel 并下载

标签 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();

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

File contains corrupted data.

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

我哪里出错了?

我正在使用这个Component .

最佳答案

将第一行更改为:

MemoryStream stream = new MemoryStream();

也改变

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

Response.BinaryWrite(stream.ToArray());

关于c# - 创建 OpenExcel 并下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052979/

相关文章:

c# - 无法加载文件或程序集 'EntityFramework' 或其依赖项之一。程序集可能已被篡改

asp.net - 使用 CSS 在 IE6 中滚动 DIV

c# - WPF 工具包折线图的性能

c# - .Net DateTime 与本地时间和 DST

c# - ConnectionMultiplexer 如何处理断开连接?

c# - 如何使用 C# 在 Windows 窗体中生成随机数和条形码?

c# - 在 ASP.NET 中使用 Response.write 生成文件时使用 updateprogress

c# - 为什么 SetBasePath 在 .NET Core 3.1 中不起作用?我试过添加 nuget 包,但它不起作用

asp.net - 在c#.net中读取并替换.doc文件的文本

适用于 Donate Button Paypal 的 Javascript 在 Chrome 上工作但不在 IE 和 Mozila 上工作 我的代码附加了吗?