I try to marge .xls file, but i have this Exception.
private void button1_Click(object sender, EventArgs e)
{
Workbook newbook = new Workbook();
newbook.Version = ExcelVersion.Version2010;
newbook.Worksheets.Clear();
Workbook tempbook = new Workbook();
string[] excelFiles = new String[] { "readout_1125081210253405_1802271302.xls",
"readout_1125081210253405_1802271313.xls", "readout_1125081210253942_1803221447.xls" };
for (int i = 0; i < excelFiles.Length; i++)
{
tempbook.LoadFromFile(excelFiles[i]);
foreach (Worksheet sheet in tempbook.Worksheets)
{
newbook.Worksheets.AddCopy(sheet);
}
}
newbook.SaveToFile("result2.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("result2.xlsx");
}
Exception:
System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Spire.Xls.Core.Spreadsheet.Collections.XlsWorkbookObjectsCollection.0(spr4614 A_0)
at Spire.Xls.Core.Spreadsheet.Collections.XlsWorksheetsCollection.1(IWorksheet A_0)
at Spire.Xls.Core.Spreadsheet.Collections.XlsWorksheetsCollection.0(String A_0, Dictionary`2 A_1)
at Spire.Xls.Core.Spreadsheet.Collections.XlsWorksheetsCollection.0(IWorksheet A_0, WorksheetCopyType A_1, Boolean A_2)
at Spire.Xls.Core.Spreadsheet.Collections.XlsWorksheetsCollection.AddCopy(IWorksheet sheet, WorksheetCopyType flags)
at Spire.Xls.Core.Spreadsheet.Collections.XlsWorksheetsCollection.AddCopy(IWorksheet sheet)
at Spire.Xls.Collections.WorksheetsCollection.AddCopy(Worksheet sheet)
at ExcelMerge.Form1.button1_Click(Object sender, EventArgs e) in C:\Users\pesho\Documents\Visual Studio 2010\Projects\ExcelMerge\ExcelMerge\Form1.cs:line 48
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)