C# Excel文件合并

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/Eiceblue/article/details/81566732

我们日常合并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);

 

 

猜你喜欢

转载自blog.csdn.net/Eiceblue/article/details/81566732