跳過到頁腳內容
使用 IRONXL

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

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

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

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

How to merge Excel files in C#

  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.建立工作簿:建立一個新的 Excel 工作簿,使用 WorkBook.Create() 來儲存所有合併後的工作表。 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 的初始成本為 $999。 或者,客戶可以選擇支付一年的會員費,以獲得支援和軟體升級。 付費方案還提供防止未經授權的再分發的保護。 如需免費試用 IronXL,請點擊此連結。 有關詳細定價信息,請訪問 IronXL 授權網站。 有關 Iron Software 產品的更多詳細信息,請訪問此頁面

常見問題解答

如何使用C#將多個Excel文件合併為一個?

您可以使用IronXL通過加載每個Excel文件、提取工作表並將它們添加到新工作簿中來將多個Excel文件合併為一個。合併所有來自不同文件的工作表後,將新工作簿保存為合併的Excel文件。

IronXL在合併Excel文件方面比Microsoft Interop有什麼優勢?

IronXL比Microsoft Interop好,因為它獨立於Microsoft Excel的安裝運行,提供更好的性能、跨平台部署的方便性,以及一個簡單明瞭的API供Excel文件操作使用。

如何在 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。

IronXL在傳統Excel操作方法方面有什麼優勢?

IronXL提供的優勢包括不需要Excel安裝、更好的性能、資源經濟、簡單和直觀的API,以及平台獨立性,使其非常適合現代.NET應用程序。

IronXL如何處理來自不同版本的Excel文件合併問題?

IronXL無縫處理來自不同版本的Excel文件的合併,因為它被設計為獨立於特定的Excel或Office版本運行,確保兼容性和易用性。

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

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我