如何在 C# 中合併或合併 Excel 文件 Combine XLS
Microsoft 建立了Microsoft Excel,一個強大的試算表程式。 這是一種常用工具,用於組織、分析和視覺化資料。 它是Microsoft Office套件的一部分。由於其眾多功能,Excel是一個靈活的應用程式,可以被個人、專業人士、學術界和公司使用。
許多行業,包括金融、會計、商業分析、資料分析、研究、教育等,均廣泛使用Excel。 由於其廣泛的功能集合和適應性,它是個人和專業環境中組織、評估和展示資料的首選工具。
IronXL是一個強大的Excel程式庫,可以用於執行各種Excel操作。 在這篇文章中,我們將學習如何在C#中合併或合併Excel文件。
How to merge Excel files in C
- 在Visual Studio中建立一個新專案
- 將IronXL程式庫安裝到專案中
- 載入所有需要合併的Excel文件
- 從載入的Excel表中提取所有工作表
- 將工作表新增到新的Excel文件中
- 將它們保存到單獨的文件中
IronXL程式庫
IronXL是在.NET應用程式中管理Excel文件時,Microsoft Interop的替代方案。 雖然IronXL提供了一種更簡單、更有效和更強大的方法來在.NET環境中以程式化方式操作Excel文件,但Microsoft Interop需要使用Interop組件來與Excel溝通。
使用IronXL的好處包括:
- 性能和資源經濟:IronXL的性能更好,因為它不依賴於在PC上安裝Excel應用程式。
- 可讀性和簡單性:IronXL提供了一個更簡單的API,使其更容易閱讀、撰寫和操作Excel文件,而不用考慮Microsoft Interop的複雜性。
- 相容性和依賴性:由於IronXL不需要安裝Microsoft Excel,它消除了各種Office或Excel版本的依賴性和相容性問題。
- 平台獨立性:IronXL提供了更大的靈活性,並能輕鬆在不同的環境和平台間部署,而Microsoft Interop更緊密地與特定的Microsoft Office版本相關聯。
對於需要以程式化方式處理Excel文件的.NET開發者來說,IronXL是更好的選擇,因為其性能、使用者友好性和對其他應用程式的依賴性較少。
在IronXL與Microsoft Interop之間的決策可能受專案的具體需求、現有基礎設施以及開發人員對每個程式庫的熟悉程度的影響。 在做出這個選擇時,始終考慮您的應用程式的需求。存取本頁面以了解有關IronXL程式庫的更多資訊。
在Visual Studio中建立一個新專案
要啟動Visual Studio應用程式,請從選單中點擊"文件",然後點選"新專案",並選擇"控制臺應用程式"。

輸入專案名稱和文件位置。 點擊"建立"按鈕,然後選擇所需的.NET框架,如下所示。

專案的結構將取決於所選的應用程式型別。 使用控制臺、Windows或Web應用程式來構建或執行應用程式,並通過輸入Program.cs文件新增程式碼。

然後可以新增程式庫並測試程式碼。
安裝IronXL程式庫
要安裝IronXL程式庫,請打開NuGet套件管理器控制台,然後輸入以下命令:
Install-Package IronXL.Excel

或者,使用NuGet套件管理器搜尋"IronXL"並從相關套件列表中下載。

使用IronXL合併Excel文件
使用IronXL,我們可以使用以下程式碼將多個Excel文件或工作表合併為一個單一的Excel文件或工作表:
using IronXL;
using System;
class Program
{
static void Main(string[] args)
{
// Array of file paths for the Excel files to be merged
string[] filePaths = { "file1.xlsx", "file2.xlsx" };
// Create a new workbook to add sheets from the existing files
WorkBook newWorkBook = WorkBook.Create();
try
{
foreach (var filePath in filePaths)
{
// Load the existing Excel file into a workbook
WorkBook existingWorkbook = WorkBook.LoadExcel(filePath);
// Retrieve the sheets from the loaded workbook
WorksheetsCollection sheetCollection = existingWorkbook.WorkSheets;
// Add each sheet from the existing workbook to the new workbook
foreach (var sheet in sheetCollection)
{
newWorkBook.WorkSheets.Add(sheet);
}
}
// Save the new workbook with a merged sheet collection
newWorkBook.SaveAs("MergedBook.xls");
}
catch (Exception ex)
{
// Output any exceptions encountered during the merging process
Console.WriteLine(ex.ToString());
}
}
}
using IronXL;
using System;
class Program
{
static void Main(string[] args)
{
// Array of file paths for the Excel files to be merged
string[] filePaths = { "file1.xlsx", "file2.xlsx" };
// Create a new workbook to add sheets from the existing files
WorkBook newWorkBook = WorkBook.Create();
try
{
foreach (var filePath in filePaths)
{
// Load the existing Excel file into a workbook
WorkBook existingWorkbook = WorkBook.LoadExcel(filePath);
// Retrieve the sheets from the loaded workbook
WorksheetsCollection sheetCollection = existingWorkbook.WorkSheets;
// Add each sheet from the existing workbook to the new workbook
foreach (var sheet in sheetCollection)
{
newWorkBook.WorkSheets.Add(sheet);
}
}
// Save the new workbook with a merged sheet collection
newWorkBook.SaveAs("MergedBook.xls");
}
catch (Exception ex)
{
// Output any exceptions encountered during the merging process
Console.WriteLine(ex.ToString());
}
}
}
Imports IronXL
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Array of file paths for the Excel files to be merged
Dim filePaths() As String = { "file1.xlsx", "file2.xlsx" }
' Create a new workbook to add sheets from the existing files
Dim newWorkBook As WorkBook = WorkBook.Create()
Try
For Each filePath In filePaths
' Load the existing Excel file into a workbook
Dim existingWorkbook As WorkBook = WorkBook.LoadExcel(filePath)
' Retrieve the sheets from the loaded workbook
Dim sheetCollection As WorksheetsCollection = existingWorkbook.WorkSheets
' Add each sheet from the existing workbook to the new workbook
For Each sheet In sheetCollection
newWorkBook.WorkSheets.Add(sheet)
Next sheet
Next filePath
' Save the new workbook with a merged sheet collection
newWorkBook.SaveAs("MergedBook.xls")
Catch ex As Exception
' Output any exceptions encountered during the merging process
Console.WriteLine(ex.ToString())
End Try
End Sub
End Class
解釋:
- 文件路徑:使用陣列來儲存所有需要合併的Excel文件的文件路徑。
- 工作簿建立:使用
WorkBook.Create()建立一個新的Excel工作簿,以儲存所有合併的工作表。 - 文件載入:遍歷文件路徑,將每個Excel文件載入到
WorkBook.LoadExcel(filePath)。 - 工作表收集:從每個載入的工作簿中檢索所有的工作表。
- 工作表新增:使用
Add方法將現有文件中的每個工作表新增到新的工作簿中。 - 文件保存:新的工作簿保存為"MergedBook.xls",從而完成合併過程。
以下是用於合併Excel文件的範例輸入文件。

合併後的結果文件:

如需了解IronXL的更多資訊,請存取本頁面。
結論
IronXL是一個受歡迎的Excel附加功能,因為它不依賴於任何其他外部程式庫而運作。 由於Microsoft Excel是自包含的,因此無需單獨安裝,可以在不需要其他依賴的情況下執行任務。 這與Interop程式庫不同,其需要其他程式庫來解析Word文件文件。
IronXL提供了在編程中處理Microsoft Excel文件的新方式。 它允許進行例如計算、排序、修剪、查找和替換、以及文件儲存等操作。 它能夠高效地讀取、撰寫和管理Excel資料。
IronXL的初始成本是$999。 或者,客戶可以選擇一年的會籍費以獲得支援和軟體升級。 付費計劃還提供了防止未經授權的再發行的保護。 如需IronXL套件庫的免費試用,請點擊此連結。 欲了解詳細的定價資訊,請存取IronXL授權網站。 如需了解Iron Software產品的更多細節,請存取本頁面。
常見問題
如何使用C#將多個Excel檔案合併為一個?
您可以通過使用IronXL載入每個Excel檔案,提取表格並將其新增到新工作簿中來將多個Excel檔案合併為一個。在合併來自不同檔案的所有工作表後,將新工作簿保存為合併的Excel檔案。
IronXL比Microsoft Interop更適合用於合併Excel檔案的原因是什麼?
IronXL優於Microsoft Interop的原因在於它獨立於Microsoft Excel安裝運行,提供了改進的性能、跨平台的輕鬆部署,以及簡單直接的API用於Excel檔案操作。
如何在Visual Studio項目中安裝IronXL?
要在Visual Studio專案中安裝IronXL,請使用NuGet Package Manager Console中的命令 Install-Package IronXL 或在NuGet Package Manager中搜尋'IronXL'並從列表中下載。
是否可以在C#中操作Excel檔案而不安裝Microsoft Excel?
是的,使用IronXL,您可以在C#中操作Excel檔案,而不需要安裝Microsoft Excel,因為IronXL的操作不依賴於Excel。
使用IronXL合併Excel檔案的主要步驟是什麼?
使用IronXL合併Excel檔案的主要步驟包括建立新工作簿、載入現有Excel文件、從這些文件中提取工作表,將工作表新增到新工作簿中,並保存合併的工作簿。
如何在Visual Studio中開始一個用於Excel檔案操作的專案?
要在Visual Studio中開始一個用於Excel檔案操作的專案,請通過選擇“檔案”,然後“新專案”,選擇您需求的適當.NET Framework,建立一個新的“控制台應用程式”專案。
IronXL在傳統Excel操作方法上提供了什麼好處?
IronXL的優勢之一是不需要安裝Excel、改善的性能、資源經濟性、簡單直觀的API和平台獨立性,這使其非常適合現代.NET應用程式。
IronXL如何處理不同版本的Excel檔案合併?
IronXL可無縫處理來自不同版本的Excel檔案合併,因為它設計成獨立於特定的Excel或Office版本運行,確保相容性及易用性。




