将信息导出到 xlsm 文件,C# VS asp.net
Posted
技术标签:
【中文标题】将信息导出到 xlsm 文件,C# VS asp.net【英文标题】:Export information to an xlsm file, C# VS asp.net 【发布时间】: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 时遇到了另一个错误,似乎有几个与文件内容有关的问题:***.com/questions/29970814/… 【参考方案1】:目前我解决了我的问题,我认为细节在宏中,但我发现真正的错误是在做不同的测试时,似乎 epplus 和 closedxml 在读取 excel 中的某些信息时都有问题,我最终使用了 closedxml 和应用解决方案: OpenXml Excel: throw error in any word after mail address
很抱歉造成混乱
【讨论】:
很高兴听到您的问题已经解决,您可以点击“✔”将您的回复标记为答案。它也将帮助其他人解决类似的问题。以上是关于将信息导出到 xlsm 文件,C# VS asp.net的主要内容,如果未能解决你的问题,请参考以下文章
asp.net(C#)如何将查询到的数据导出Excel表格?
将asp.net(c#)中textbox的内容导出到word中