Waq*_*Ali 10 c# asp.net excel epplus
我正在使用EPPlus库创建一个Excel文件.当我创建文件并打开文件时,以下弹出消息显示:
我们发现"ExcelDemo.xlsx"中的某些内容存在问题.你想让我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击"是"
我正在使用以下代码
using (ExcelPackage pck = new ExcelPackage())
{
//Create the worksheet
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");
//Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
ws.Cells[1, 2].Value = "Excel Download";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=ExcelDemo.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
}
Run Code Online (Sandbox Code Playgroud)
我的代码中是否存在问题或者这是Excel问题?
Ads*_*Ads 24
一开始,您需要添加:
Response.Clear();
Run Code Online (Sandbox Code Playgroud)
然后在最后添加一个
Response.End();
Run Code Online (Sandbox Code Playgroud)
tse*_*sky 17
在我的情况下,问题出在呼唤
package.Save();
Run Code Online (Sandbox Code Playgroud)
和使用
Response.BinaryWrite(package.GetAsByteArray());
Run Code Online (Sandbox Code Playgroud)
同时.
当你调用package.GetAsByteArray()时,它会在内部执行以下操作:
this.Workbook.Save();
this._package.Close();
this._package.Save(this._stream);
Run Code Online (Sandbox Code Playgroud)
因此,在Excel中打开时,调用package.Save两次会导致此错误.
| 归档时间: |
|
| 查看次数: |
9555 次 |
| 最近记录: |