C# Excel檔案合併
阿新 • • 發佈:2018-11-22
我們日常合併Excel的方式通常分為以下兩種:
- 合併多個Excel檔案到一個檔案
- 合併多個Excel檔案到一個工作表
這篇文章將介紹如何使用C#和.NET Excel元件Spire.XLS通過以上兩種方式合併Excel檔案。
合併多個Excel檔案到一個檔案
//建立一個新的workbook物件 Workbook newbook = new Workbook(); newbook.Version = ExcelVersion.Version2013; //刪除文件中的工作表(新建立的文件預設包含3張工作表) newbook.Worksheets.Clear(); //建立一個臨時的workbook,用於載入需要合併的Excel文件 Workbook tempbook = new Workbook(); //將需要合併的Excel文件名稱儲存到陣列 string[] excelFiles = new string[] { "1.xlsx", "2.xlsx"}; //遍歷陣列 for (int i = 0; i < excelFiles.Length; i++) { //載入Excel文件 tempbook.LoadFromFile(excelFiles[i]); //使用AddCopy方法,將文件中的所有工作表新增到新的workbook foreach (Worksheet sheet in tempbook.Worksheets) { newbook.Worksheets.AddCopy(sheet); } } //儲存文件 newbook.SaveToFile("MergeFiles.xlsx", ExcelVersion.Version2013);
合併多個Excel檔案到一個工作表
string[] excelFiles = new string[] { "1.xlsx", "2.xlsx", "3.xlsx" }; Workbook workbook1 = new Workbook(); //載入第一個Excel檔案 workbook1.LoadFromFile(excelFiles[0]); //載入第二個Excel檔案 Workbook workbook2 = new Workbook(); workbook2.LoadFromFile(excelFiles[1]); //載入第三個Excel檔案 Workbook workbook3 = new Workbook(); workbook3.LoadFromFile(excelFiles[2]); //獲取第一個檔案的第一張工作表 Worksheet sheet1 = workbook1.Worksheets[0]; //將第二和第三個Excel檔案的工作表通過datatable插入到第一個檔案的第一張工作表中 Worksheet sheet2 = workbook2.Worksheets[0]; DataTable dataTable1 = sheet2.ExportDataTable(); Worksheet sheet3 = workbook3.Worksheets[0]; DataTable dataTable2 = sheet3.ExportDataTable(); sheet1.InsertDataTable(dataTable1, true, sheet1.LastRow + 1, 1); sheet1.InsertDataTable(dataTable2, true, sheet1.LastRow + 1, 1); //儲存檔案 workbook1.SaveToFile("Merged.xlsx", ExcelVersion.Version2013);