1. 程式人生 > >C# Excel檔案合併

C# Excel檔案合併

我們日常合併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);