在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";
// 創(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)你的具體需求。