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升级您的图书馆到最新版本。 问题应该解决。