跳過到頁腳內容
使用 IRONXL

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

微軟創建了Microsoft Excel,一個功能強大的電子表格程式。 它是一個常用的工具,用於組織、分析和可視化數據。 它是Microsoft Office套件的一個組件。由於其眾多功能,Excel是一個靈活的應用程式,可以被個人、專業人士、學者和企業使用。

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

IronXL是一個強大的Excel庫,可以用來執行各種Excel操作。 在本文中,我們將學習如何在C#中連接或合併Excel文件。

如何在C#中合併Excel文件

  1. 在Visual Studio中創建一個新專案
  2. 將IronXL庫安裝到專案中
  3. 加載所有需要合併的Excel文件
  4. 從加載的Excel文件中提取所有工作表
  5. 將這些工作表添加到新的Excel文件中
  6. 將它們保存到一個單獨的文件中

IronXL 庫

IronXL是處理.NET應用程式中Excel文件時,Microsoft Interop的替代者。 雖然IronXL提供了一種更簡單、高效且強大的方法來在.NET環境中程式化地操作Excel文件,而Microsoft Interop需要使用Interop元件來與Excel通信。

使用IronXL有以下優勢:

  • 性能及資源經濟: IronXL的性能更好,因為它不依賴於安裝在電腦上的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框架,如下所示。

如何在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是自包含的,因此不需要單獨安裝它,並且可以在沒有其他依賴的情況下執行任務。 這與需解析Word文檔文件其他庫的Interop庫形成對比。

IronXL提供了處理Microsoft Excel文檔的新方法。 它允許像計算、排序、修剪、查找和替換、文件存儲等操作。 它能高效地讀取、寫入和管理Excel數據。

IronXL的初始成本是一個LiteLicense。 或者,客戶可以選擇一年的會員費來獲得支持和軟件升級。 付費計畫還提供防止未經授權的重新分發的保護。 要試用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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。