将工作表复制到新工作簿时,EPPlus中的ArgumentOutOfRange异常

时间:2018-09-04 14:29:23

标签: c# .net epplus

我想将工作表从模板工作簿复制到新工作簿。我已经在其他项目中使用过此代码,并且可以正常工作,但是现在我遇到了excel工作簿的问题,但是我不知道这是什么问题。这是代码:

byte[] file = File.ReadAllBytes(source);
using (var ms = new MemoryStream(file))
{
    var package = new ExcelPackage(ms);

    var worksheet = package.Workbook.Worksheets[1];

    var copyPackage = new ExcelPackage(new FileInfo(destination));

    // the following line causes a ArgumentOutOfRangeException
    copyPackage.Workbook.Worksheets.Add(worksheet.Name, worksheet);
    copyPackage.Save();
}

这是异常的堆栈跟踪(抱歉,德语):

Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
   bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   bei OfficeOpenXml.Style.ExcelStyle.get_XfId()
   bei OfficeOpenXml.ExcelStyles.CreateNamedStyle(String name, ExcelStyle Template)
   bei OfficeOpenXml.ExcelStyles.CloneStyle(ExcelStyles style, Int32 styleID, Boolean isNamedStyle, Boolean allwaysAdd)
   bei OfficeOpenXml.ExcelWorksheets.CloneCells(ExcelWorksheet Copy, ExcelWorksheet added)
   bei OfficeOpenXml.ExcelWorksheets.Add(String Name, ExcelWorksheet Copy)
   bei CopyExcel.Program.Main(String[] args) in D:\spikes\CopyExcel\CopyExcel\Program.cs:Zeile 26.

0 个答案:

没有答案