如何在 C# 中合併或合併 Excel 文件 Combine XLS
微軟開發了強大的電子表格程式Microsoft Excel 。 它是組織、分析和視覺化資料的常用工具。 它是微軟辦公室軟體套件的組成部分。 Excel 是一款功能強大的靈活應用程式,因其眾多功能,可供個人、專業人士、學者和企業使用。
包括金融、會計、商業分析、資料分析、研究、教育等在內的許多行業都廣泛使用 Excel。 由於其功能廣泛且適應性強,它是個人和專業環境中組織、評估和顯示資料的首選工具。
IronXL是一個功能強大的 Excel 庫,可用於執行各種類型的 Excel 操作。 本文將介紹如何在 C# 中連接或合併 Excel 檔案。
How to merge Excel files in C#
- 在 Visual Studio 中建立一個新項目
- 將 IronXL 庫安裝到專案中
- 載入所有需要合併的Excel文件
- 從已載入的 Excel 表格中擷取所有工作表
- 將工作表新增至新的 Excel 檔案中
- 將它們儲存到一個單獨的檔案中
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 應用程式,請從選單中按一下"檔案",然後按一下"新專案",並選擇"控制台應用程式"。
請輸入項目名稱和檔案位置。 按一下"建立"按鈕,然後選擇所需的 .NET Framework,如下所示。
項目的結構將取決於所選的應用類型。 使用控制台、Windows 或 Web 應用程式來建立或執行應用程序,並透過輸入 Program.cs 檔案來新增程式碼。
然後就可以新增庫,並測試程式碼。
安裝 IronXL 庫
若要安裝 IronXL 庫,請開啟 NuGet 套件管理員控制台並鍵入下列命令:
Install-Package IronXL.Excel
或者,使用 NuGet 套件管理器搜尋"IronXL",然後從相關套件清單中下載它。
使用 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
說明:
1.檔案路徑:使用陣列來儲存所有要合併的 Excel 檔案的檔案路徑。
2.建立工作簿:建立一個新的 Excel 工作簿,使用 WorkBook.Create() 來儲存所有合併後的工作表。
3.檔案載入:遍歷檔案路徑,使用 WorkBook.LoadExcel(filePath) 將每個 Excel 檔案載入到 WorkBook 物件中。
4.工作表收集:從每個已載入的工作簿中檢索所有工作表。
5.新增工作表:使用 Add 方法將現有文件中的每個工作表新增至新工作簿。
6.檔案儲存:新工作簿儲存為"MergedBook.xls",合併過程完成。
以下是用於合併 Excel 檔案的範例輸入檔。
合併後的文件:
有關 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版本運行,確保兼容性和易用性。


