跳至頁尾內容
USING IRONXL

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

Microsoft 建立了Microsoft Excel,一個強大的試算表程式。 這是一種常用工具,用於組織、分析和視覺化資料。 它是Microsoft Office套件的一部分。由於其眾多功能,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程式庫

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應用程式,請從選單中點擊"文件",然後點選"新專案",並選擇"控制臺應用程式"。

如何在C#中合併或合併Excel文件結合XLS:圖1

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

如何在C#中合併或合併Excel文件結合XLS:圖2

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

如何在C#中合併或合併Excel文件結合XLS:圖3

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

安裝IronXL程式庫

要安裝IronXL程式庫,請打開NuGet套件管理器控制台,然後輸入以下命令:

Install-Package IronXL.Excel

如何在C#中合併或合併Excel文件結合XLS:圖4

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

如何在C#中合併或合併Excel文件結合XLS:圖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. 文件載入:遍歷文件路徑,將每個Excel文件載入到WorkBook.LoadExcel(filePath)
  4. 工作表收集:從每個載入的工作簿中檢索所有的工作表。
  5. 工作表新增:使用Add方法將現有文件中的每個工作表新增到新的工作簿中。
  6. 文件保存:新的工作簿保存為"MergedBook.xls",從而完成合併過程。

以下是用於合併Excel文件的範例輸入文件。

如何在C#中合併或合併Excel文件結合XLS:圖6

合併後的結果文件:

如何在C#中合併或合併Excel文件結合XLS:圖7

如需了解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版本運行,確保相容性及易用性。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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