c#中如何合并多个Excel工作簿

avatar
作者
筋斗云
阅读量:0

在C#中,你可以使用EPPlus这个库来合并多个Excel工作簿。以下是一个简单的示例,演示了如何使用EPPlus合并两个Excel工作簿:

  1. 首先,确保你已经安装了EPPlus库。如果没有,请使用NuGet包管理器安装它:
Install-Package EPPlus 
  1. 接下来,编写一个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文件中。你可以根据需要修改代码以适应你的具体需求。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!