跳過到頁腳內容
使用 IRONXL

如何在 C# 中合併或合併 Excel 文件 Combine XLS

微軟開發了強大的電子表格程式Microsoft Excel 。 它是組織、分析和視覺化資料的常用工具。 它是微軟辦公室軟體套件的組成部分。 Excel 是一款功能強大的靈活應用程序,因其眾多功能,可供個人、專業人士、學者和企業使用。

包括金融、會計、商業分析、數據分析、研究、教育等在內的許多行業都廣泛使用 Excel。 由於其功能廣泛且適應性強,它是個人和專業環境中組織、評估和顯示數據的首選工具。

IronXL是一個功能強大的 Excel 庫,可用於執行各種類型的 Excel 操作。 本文將介紹如何在 C# 中連接或合併 Excel 檔案。

如何在 C# 中合併 Excel 文件

  1. 在 Visual Studio 中建立一個新項目
  2. 將 IronXL 庫安裝到專案中
  3. 載入所有需要合併的Excel文件
  4. 從已載入的 Excel 表格中擷取所有工作表
  5. 將工作表新增至新的 Excel 檔案中
  6. 將它們儲存到一個單獨的檔案中

IronXL 圖書館

在 .NET 應用程式中管理 Excel 檔案時, IronXL是 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 應用程序,請從選單中按一下"檔案",然後按一下"新專案",並選擇"控制台應用程式"。

如何在 C# 中合併 Excel 檔案:圖 1

請輸入項目名稱和檔案位置。 按一下"建立"按鈕,然後選擇所需的 .NET Framework,如下所示。

如何在 C# 中合併 Excel 檔案:圖 2

項目的結構將取決於所選的應用類型。 使用控制台、Windows 或 Web 應用程式來建立或執行應用程序,並透過輸入Program.cs檔案來新增程式碼。

如何在 C# 中合併 Excel 檔案:圖 3

然後就可以新增庫,並測試程式碼。

安裝 IronXL 庫

若要安裝 IronXL 庫,請開啟 NuGet 套件管理員控制台並鍵入下列命令:

Install-Package IronXL.Excel

如何在 C# 中合併 Excel 檔:圖 4

或者,使用 NuGet 套件管理器搜尋"IronXL",然後從相關套件清單中下載它。

如何在 C# 中合併 Excel 檔案:圖 5

使用 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
$vbLabelText   $csharpLabel

說明:

1.檔案路徑:使用陣列來儲存所有要合併的 Excel 檔案的檔案路徑。 2.建立工作簿:使用WorkBook.Create()建立一個新的 Excel 工作簿來儲存所有合併後的工作表。 3.檔案載入:遍歷檔案路徑,使用WorkBook.LoadExcel(filePath)將每個 Excel 檔案載入WorkBook物件中。 4.工作表集合:從每個已載入的工作簿中擷取所有工作表。 5.新增工作表:使用Add方法將現有文件中的每個工作表新增至新工作簿。 6.檔案儲存:新工作簿儲存為"MergedBook.xls",合併過程完成。

以下是用於合併 Excel 檔案的範例輸入檔。

如何在 C# 中合併 Excel 檔:圖 6

合併後的文件:

如何在 C# 中合併 Excel 檔:圖 7

有關 IronXL 的更多信息,請訪問此頁面

結論

IronXL 是 Excel 的熱門插件,因為它獨立於任何其他外部程式庫運作。 由於 Microsoft Excel 是獨立的,無需單獨安裝,無需其他依賴項即可執行任務。 這與 Interop 庫形成對比,Interop 庫需要其他庫來解析 Word 文件文件。

IronXL 為在程式設計中處理 Microsoft Excel 文件提供了新的方法。 它支援計算、排序、修剪、查找和替換以及文件存儲等操作。 它能夠有效率地讀取、寫入和管理 Excel 資料。

IronXL 的初始成本為$799 。 或者,客戶可以選擇支付一年的會員費,以獲得支援和軟體升級。 付費方案還提供防止未經授權的再分發的保護。 如需免費試用 IronXL,請點擊此連結。 有關詳細定價信息,請訪問 IronXL 授權網站。 有關 Iron Software 產品的更多詳細信息,請訪問此頁面

常見問題解答

如何使用 C# 將多個 Excel 檔案合併為一個?

您可以使用 IronXL.Excel 將多個 Excel 檔案合併為一個,方法是載入每個 Excel 檔案、擷取工作表,然後將它們加入新的工作簿。將不同檔案中的所有工作表合併後,將新工作簿儲存為合併的 Excel 檔案。

在合併 Excel 檔案時,IronXL.Excel 為何比 Microsoft Interop 更適合?

IronXL 是比 Microsoft Interop 更好的選擇,因為它獨立於 Microsoft Excel 安裝運作,提供更佳的效能、跨平台部署的便利性,以及 Excel 檔案操作的直接 API。

如何在 Visual Studio 專案中安裝 IronXL?

若要在 Visual Studio 專案中安裝 IronXL,請使用 NuGet 套件管理員控制台,執行指令 Install-Package IronXL 或在 NuGet 套件管理員中搜尋「IronXL」,並從清單中下載。

在沒有安裝 Microsoft Excel 的情況下,是否可以用 C# 來操作 Excel 檔案?

是的,使用 IronXL,您可以在沒有安裝 Microsoft Excel 的情況下,以 C# 語言操作 Excel 檔案,因為 IronXL 的操作並不依賴 Excel。

使用 IronXL 合併 Excel 檔案的主要步驟是什麼?

使用 IronXL 合併 Excel 檔案的主要步驟包括建立新工作簿、載入現有 Excel 檔案、從這些檔案中抽取工作表、將工作表新增至新工作簿,以及儲存合併後的工作簿。

如何在 Visual Studio 中啟動專案進行 Excel 檔案操作?

要在 Visual Studio 中為 Excel 檔案操作啟動專案,請選擇「檔案」,然後選擇「新專案」,並根據您的需求選擇適當的 .NET Framework,以建立新的「控制台應用程式」專案。

與傳統的 Excel 操作方法相比,IronXL.Excel 有哪些優點?

IronXL 具有無需安裝 Excel、效能提升、節省資源、簡單直覺的 API 以及平台獨立性等優點,是現代 .NET 應用程式的理想選擇。

IronXL.Excel 如何處理合併不同版本的 Excel 檔案?

IronXL 可以無縫處理合併不同版本的 Excel 檔案,因為它的設計獨立於特定的 Excel 或 Office 版本,確保相容性和易用性。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。