溫馨提示×

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

c#
小樊
99
2024-09-27 23:51:53
欄目: 編程語言

在C#中,你可以使用EPPlus這個庫來合并多個Excel工作簿。以下是一個簡單的示例,演示了如何使用EPPlus合并兩個Excel工作簿:

  1. 首先,確保你已經(jīng)安裝了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";

            // 創(chuàng)建一個新的Excel工作簿,用于存儲合并后的結(jié)果
            ExcelWorkbook mergedWorkbook = new ExcelWorkbook();
            ExcelWorksheet mergedWorksheet = mergedWorkbook.Worksheets.Add("MergedSheet");

            // 讀取第一個Excel工作簿的內(nèi)容
            using (ExcelPackage package1 = new ExcelPackage(filePath1))
            {
                ExcelWorksheet worksheet1 = package1.Workbook.Worksheets["Sheet1"]; // 根據(jù)實際情況修改工作表名稱

                // 將第一個工作表的所有行和列復(fù)制到新的工作簿中
                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工作簿的內(nèi)容
            using (ExcelPackage package2 = new ExcelPackage(filePath2))
            {
                ExcelWorksheet worksheet2 = package2.Workbook.Worksheets["Sheet2"]; // 根據(jù)實際情況修改工作表名稱

                // 將第二個工作表的所有行和列復(fù)制到新的工作簿中,從第二行開始以避免重復(fù)
                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}'.");
        }
    }
}

請注意,這個示例假設(shè)兩個要合并的Excel文件都有一個名為"Sheet1"的工作表。你需要根據(jù)實際情況修改工作表名稱。此外,這個示例將合并兩個工作簿的所有內(nèi)容,并將結(jié)果保存在一個新的Excel文件中。你可以根據(jù)需要修改代碼以適應(yīng)你的具體需求。

0