【问题标题】:Export information to an xlsm file, C# VS asp.net将信息导出到 xlsm 文件,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 时遇到了另一个错误,似乎有几个与文件内容有关的问题:stackoverflow.com/questions/29970814/…

标签: c# asp.net visual-studio


【解决方案1】:

目前我解决了我的问题,我认为细节在宏中,但我发现真正的错误是在做不同的测试时,似乎 epplus 和 closedxml 在读取 excel 中的某些信息时都有问题,我最终使用了 closedxml 和应用解决方案: OpenXml Excel: throw error in any word after mail address

很抱歉造成混乱

【讨论】:

  • 很高兴听到您的问题已经解决,您可以点击“✔”将您的回复标记为答案。它也将帮助其他人解决类似的问题。
猜你喜欢
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多