C# EPPlus导入文件xlsm

C# EPPlus导入文件xlsm,c#,epplus,excel-import,C#,Epplus,Excel Import,我正在尝试使用EPPlus导入xlsm文件。我找到了说EPPlus不支持此的链接:。它很老了,所以我想知道它现在是否支持它?如果没有,是否有任何方法可以通过转换为XLSX来实现这一点,但该方法应独立于Microsoft更新,并且仅依赖于构建程序时使用的库。 我当前的代码如下所示: FileInfo file = new FileInfo(Path.Combine(Program.source_path, s)); using (ExcelPackage package = new Exce

我正在尝试使用EPPlus导入xlsm文件。我找到了说EPPlus不支持此的链接:。它很老了,所以我想知道它现在是否支持它?如果没有,是否有任何方法可以通过转换为XLSX来实现这一点,但该方法应独立于Microsoft更新,并且仅依赖于构建程序时使用的库。 我当前的代码如下所示:

FileInfo file = new FileInfo(Path.Combine(Program.source_path, s));
   using (ExcelPackage package = new ExcelPackage(file))
   {
       ExcelWorksheet worksheet = package.Workbook.Worksheets[3];
       for (int row = 9; row <= worksheet.Dimension.End.Row; row++)
       {
       }
   }
FileInfo file=newfileinfo(Path.Combine(Program.source_Path,s));
使用(ExcelPackage=新的ExcelPackage(文件))
{
Excel工作表=package.Workbook.Worksheets[3];

对于(int row=9;row,这将把源xlsm文件中的所有内容复制到目标xlsx文件中

      using (var target = new ExcelPackage(new System.IO.FileInfo("D:\\target.xlsx")))
        {
            using (var source = new ExcelPackage(new System.IO.FileInfo("D:\\source.xlsm")))
            {

                foreach (var worksheet in source.Workbook.Worksheets)
                {
                    target.Workbook.Worksheets.Add(worksheet.Name, worksheet);
                }
            }
            target.Save();
        }

您也应该将目标ExcelPackage放在using语句中。这是迄今为止最好的EPPlus解决方案,但我尝试了,但在一定范围内丢失了表格格式设置(当我打开Excel时,它说它发现了问题并尝试恢复,然后表格就消失了。)我收到异常:值不能为null。\r\n参数名称:encoder..每次我都测试过它,是哪一行给了你这个异常?真奇怪。在尝试调试时错误刚刚改变:“根元素丢失。”我的代码看起来是一样的。这个错误出现在“foreach”语句中。源文件似乎已损坏,您使用的是哪个版本的EPPLUS?