跳至頁尾內容
使用 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());
        }
    }
}
$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 檔案方面,IronXL 比 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有哪些優點?

IronXL 具有無需安裝 Excel、效能更佳、資源節約、API 簡單直覺、平台獨立等優點,使其成為現代 .NET 應用程式的理想選擇。

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

IronXL 可以無縫地合併不同版本的 Excel 文件,因為它被設計成獨立於特定的 Excel 或 Office 版本運行,從而確保了相容性和易用性。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。