在C#中,你可以使用EPPlus
这个库来合并多个Excel工作簿。以下是一个简单的示例,演示了如何使用EPPlus
合并两个Excel工作簿:
EPPlus
库。如果没有,请使用NuGet包管理器安装它:Install-Package EPPlus
using OfficeOpenXml;
using System;
using System.IO;
namespace ExcelMergeExample
{
class Program
{
static void Main(string[] args)
{
// 指定要合并的Excel文件路径
string filePath1 = @"path\to\your\first\workbook.xlsx";
string filePath2 = @"path\to\your\second\workbook.xlsx";
// 创建一个新的Excel工作簿,用于存储合并后的结果
ExcelWorkbook mergedWorkbook = new ExcelWorkbook();
ExcelWorksheet mergedWorksheet = mergedWorkbook.Worksheets.Add("MergedSheet");
// 读取第一个Excel工作簿的内容
using (ExcelPackage package1 = new ExcelPackage(filePath1))
{
ExcelWorksheet worksheet1 = package1.Workbook.Worksheets["Sheet1"]; // 根据实际情况修改工作表名称
// 将第一个工作表的所有行和列复制到新的工作簿中
for (int row = 1; row <= worksheet1.Dimension.End.Row; row++)
{
for (int col = 1; col <= worksheet1.Dimension.End.Column; col++)
{
mergedWorksheet.Cells[row, col].Value = worksheet1.Cells[row, col].Value;
}
}
}
// 读取第二个Excel工作簿的内容
using (ExcelPackage package2 = new ExcelPackage(filePath2))
{
ExcelWorksheet worksheet2 = package2.Workbook.Worksheets["Sheet2"]; // 根据实际情况修改工作表名称
// 将第二个工作表的所有行和列复制到新的工作簿中,从第二行开始以避免重复
for (int row = 2; row <= worksheet2.Dimension.End.Row; row++)
{
for (int col = 1; col <= worksheet2.Dimension.End.Column; col++)
{
mergedWorksheet.Cells[row, col].Value = worksheet2.Cells[row, col].Value;
}
}
}
// 保存合并后的Excel工作簿
string outputFilePath = @"path\to\your\merged\workbook.xlsx";
mergedWorkbook.SaveAs(outputFilePath);
Console.WriteLine($"Excel workbooks have been successfully merged into '{outputFilePath}'.");
}
}
}
请注意,这个示例假设两个要合并的Excel文件都有一个名为"Sheet1"的工作表。你需要根据实际情况修改工作表名称。此外,这个示例将合并两个工作簿的所有内容,并将结果保存在一个新的Excel文件中。你可以根据需要修改代码以适应你的具体需求。