【发布时间】:2021-09-23 17:41:51
【问题描述】:
有没有办法将信息导出到 xlsm 文件?我做的步骤是:
在一个按钮中,我输入一个输入来选择文件,我将文件上传到服务器 我寻找已经在代码中指定的工作表 我根据要导出的信息修改文件信息 命令在本地保存文件。
错误如下: {“第 59 行位置 30 上的 'br' 开始标签与 'font' 的结束标签不匹配。第 60 行,位置 9。”} 当指示要使用的工作表时
我分享我的代码:有什么建议吗?
public void ExportFile(string FileName, string UserID)
{
FileInfo fi = new FileInfo(FileName);
Master.MSGError = string.Empty;
string SheetName = "test";
using (MemoryStream file = new MemoryStream())
{
try
{
using (ExcelPackage xlPackage = new ExcelPackage(fi))
{
ExcelWorksheet worksheet;
worksheet = xlPackage.Workbook.Worksheets[SheetName]; //here is the error exception
worksheet.Cells[1, 1].Value = "TEST";
//save file
xlPackage.SaveAs(file);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.BinaryWrite(file.ToArray());
Response.Flush();
Response.End();
}
}
catch (Exception ex)
{
Master.fc.MSGError = ex.Message;
}
}
}
【问题讨论】:
-
epplus 版本?使用 epplus 应该可以工作,如果任务很简单,您可以使用 npoi 更改尝试。
-
XLSM 正确的 mime 是 application/vnd.ms-excel.sheet.macroEnabled.12
-
我已经用 epplus 和 closedxml 试过了
-
@Diego Bonfil,根据我的测试,我遇到了你提到的不同错误。我添加代码 ** ExcelPackage.LicenseContext = LicenseContext.NonCommercial;** 来解决问题。根据您的错误,您能否提供您的 xlsm 文件?我认为您的错误与您的文件有关。此外,我们应该使用 xlPackage.Save(); 来保存文件。
-
@Jack J Jun,我希望我可以共享文件,但它不属于我,我在使用 closedxml 时遇到了另一个错误,似乎有几个与文件内容有关的问题:stackoverflow.com/questions/29970814/…
标签: c# asp.net visual-studio