EPPlus添加工作表与最新版本的Office损失所有的macros
当您在具有任何VBAmacros的文件上运行以下代码时:
using (ExcelPackage xlPackage = new ExcelPackage(new FileInfo("Test.xlsm"))) { xlPackage.Workbook.Worksheets.Add("TestTab"); xlPackage.Save(); }
您遇到以下问题(打开编辑的文件时):
我们发现“Test.xlsm”中的某些内容存在问题。 你想让我们尽可能地恢复吗? 如果您信任此工作簿的来源,请单击“是”。
(如果你点击是)
删除了Part:/xl/vbaProject.bin部分。 (Visual Basic for Applications(VBA))
然后你的VBA Marco走了…我也收到了:
工作簿中的Visual Basic for Applications(VBA)macros已损坏并已被删除。 macros损坏很可能存在于当前文件中。 要恢复macros,请打开该文件的备份副本(如果有)。
我只在最新更新(Office 365 Excel 1708 – 8431.2079)上看到此问题。 当我testing旧版本的Excel或尚未升级到最新版本的版本时,我不会遇到此问题。
看来最新的Office更新已经将这个问题引入了EPPlus (Latest 4.5.0)中已经修改的文件(特别是当插入新工作表时)的打开 。
有其他人遇到过这个问题吗? 也许有人有某种工作。 我希望不必深入到源代码:(
编辑 :采取派先生的build议和克隆的票,也许有人比我聪明有一些洞察源: GitHub
Jan Kallman已经很好地解决了这个问题:4.1.1
只需通过NuGet或直接通过Github升级您的图书馆到最新版本。 问题应该解决。