本文将介绍如何使用Spire.XLS组件合并多个Excel文档到一个Excel文档,以及合并一个Excel文档内多张工作表的数据到一张工作表。
合并多个Excel文档到一个Excel文档
C#
//创建一个新的workbook对象
Workbook newbook = new Workbook();
newbook.Version = ExcelVersion.Version2013;
//删除文档中的工作表(新创建的文档默认包含3张工作表)
newbook.Worksheets.Clear();
//创建一个临时的workbook,用于加载需要合并的Excel文档
Workbook tempbook = new Workbook();
//将需要合并的Excel文档名称保存到数组
string[] excelFiles = new string[] { "开发.xlsx", "财务.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);
VB.NET
'创建一个新的workbook对象
Dim newbook As New Workbook()
newbook.Version = ExcelVersion.Version2013
'删除文档中的工作表(新创建的文档默认包含3张工作表)
newbook.Worksheets.Clear()
'创建一个临时的workbook,用于加载需要合并的Excel文档
Dim tempbook As New Workbook()
'将需要合并的Excel文档名称保存到数组
Dim excelFiles As String() = New String() {"开发.xlsx", "财务.xlsx"}
'遍历数组
For i As Integer = 0 To excelFiles.Length - 1
'载入Excel文档
tempbook.LoadFromFile(excelFiles(i))
'使用AddCopy方法,将文档中的所有工作表添加到新的workbook
For Each sheet As Worksheet In tempbook.Worksheets
newbook.Worksheets.AddCopy(sheet)
Next
Next
'保存文档
newbook.SaveToFile("MergeFiles.xlsx", ExcelVersion.Version2013)
合并一个Excel文档内多张工作表的数据到一张工作表
C#
//载入Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("MergeFiles.xlsx");
//获取第一张工作表
Worksheet sheet1 = workbook.Worksheets[0];
//获取第二张工作表
Worksheet sheet2 = workbook.Worksheets[1];
//复制第二张工作表中所使用的区域到第一张工作表的指定区域中
sheet2.AllocatedRange.Copy(sheet1.Range[sheet1.LastRow +1, 1]);
//删除第二张工作表
sheet2.Remove();
//保存文档
workbook.SaveToFile("MergeSheets.xlsx", ExcelVersion.Version2013);
VB.NET
'载入Excel文档
Dim workbook As New Workbook()
workbook.LoadFromFile("MergeFiles.xlsx")
'获取第一张工作表
Dim sheet1 As Worksheet = workbook.Worksheets(0)
'获取第二张工作表
Dim sheet2 As Worksheet = workbook.Worksheets(1)
'复制第二张工作表中所使用的区域到第一张工作表的指定区域中
sheet2.AllocatedRange.Copy(sheet1.Range(sheet1.LastRow + 1, 1))
'删除第二张工作表
sheet2.Remove()
'保存文档
workbook.SaveToFile("MergeSheets.xlsx", ExcelVersion.Version2013)