将信息导出到 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从数据库导出到EXCEL

C#导出Excel总结

asp.net(C#)如何将查询到的数据导出Excel表格?

将asp.net(c#)中textbox的内容导出到word中

求将dataset数据集导出到excel文件的方法(vs2005 c#)

c#如何将数据导出pdf文件,我用的是vs2010,里边没有水晶报表。然后用itextsharp就报字体啥的错误。