阅读量:0
在C#中,你可以使用EPPlus
这个库来合并多个Excel工作簿。以下是一个简单的示例,演示了如何使用EPPlus
合并两个Excel工作簿:
- 首先,确保你已经安装了
EPPlus
库。如果没有,请使用NuGet包管理器安装它:
Install-Package EPPlus
- 接下来,编写一个C#程序来合并两个Excel工作簿:
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文件中。你可以根据需要修改代码以适应你的具体需求。