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