Я хочу скопировать рабочий лист из рабочей книги шаблона в новую рабочую книгу. Я использовал этот код в других проектах, и он отлично работает, но теперь у меня есть проблема с книгой 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.