首页 > 解决方案 > 使用 OpenXML 遇到问题

问题描述

在运行时创建 Excel 文档时,出现以下错误:

Excel 在“文件名.xlsx”中发现了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是。

我看过很多关于堆栈溢出的帖子,但在这种情况下他们没有帮助我。

下面是我的 C# 代码(尝试)创建 excel 文件:

var workbook = new XLWorkbook();
System.Data.DataTable Table = new System.Data.DataTable();
string AdvId = GlobalEntityID + "-" + AyId + "-" + QtrID;
var CSRExpenditureData = objCsrExp.GetCSRExpendituresFromSP(AdvId); //Get data in list from sp
Table = ListToDataTable(CSRExpenditureData); //Convert list to datatable 
Table.Columns.Remove("ID");        //Remove extra columns
Table.Columns.Remove("IsActive");  //Remove extra columns
Table.Columns.Remove("IsDefault"); //Remove extra columns
Table.Columns.Remove("IsSubmit");  //Remove extra columns


if (Table.Columns.Count > 0)
{
    var ws = workbook.Worksheets.Add(Table, ReportName); 
}

workbook.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
workbook.Style.Font.Bold = true;
Response.Clear();
Response.Buffer = true;

Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=" + ReportName + ".xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
    workbook.SaveAs(MyMemoryStream);
    MyMemoryStream.WriteTo(Response.OutputStream);  
}

Excel错误

注意:请不要将此标记为重复,因为我也尝试过其他帖子

标签: c#excelopenxmlclosedxml

解决方案


推荐阅读