與其他組件比較

IronXL 與 FastExcel for .NET 的比較

發佈 2023年5月8日
分享:

在處理 Excel文件在C#目前,兩個最受歡迎的庫是來自 Iron Suite 套件的 IronXL 和 FastExcel v4。這兩個庫都提供了一系列工具和功能,可以幫助開發人員操作和管理 Excel 工作簿。這兩款軟體各自都很出色,但光是出色還不足夠。我們將評估每個庫所提供的功能,以確定哪一個是您的最佳選擇。在本文中,我們將比較 IronXL 和 FastExcel v4,強調每個庫的優勢和劣勢,並提供如何在 C# 中使用兩者的範例。

如何在C#中讀取Excel數據並插入到資料庫表:圖1 - FastExcel V4 檢查工作簿

FastExcel v4

FastExcel v4 是一組多執行緒的 C# 程式庫系列,提供管理 Excel 工作簿的工具。最新的 FastExcel v4 引入了新的功能,例如 Tables Sheet Manager Pro,簡化了已定義名稱的管理,還有 FastExcel SpeedTools,幫助減少工作簿膨脹。

使用 FastExcel v4,開發人員可以根據需要在自動與手動計算方法之間進行選擇。這個程式庫提供了廣泛的工具來操控工作表和工作簿,包括對無限數量的公式和計算的支援。

FastExcel v4 的一個主要優勢是其速度。這個程式庫被設計得非常高效,即使在處理大型或複雜的工作簿時也是如此。它包含了多執行緒計算,可以顯著加快計算過程,並提供了管理記憶體使用和優化性能的工具。

FastExcel v4: 功能集

  • 讀取和寫入 XLSX 格式的 Excel 文件
  • 使用 LINQ 從 Excel 文件中讀取數據
  • 支持數據驗證和錯誤處理
  • 用於讀取和寫入 Excel 文件的高性能流 API
  • 支持多線程以更快處理大型 Excel 文件
  • 與 .NET Framework 和 .NET Core 兼容
  • 與 LINQ、Entity Framework 和 Apache Spark 等流行庫集成

IronXL

IronXL 是一個 強大的C#程式庫 它使開發人員能夠以程式化方式操作和創建 Excel 文件。它提供了熟悉的 C# 語法和方法來讀取、寫入和修改 Excel 文件,無需任何外部依賴或額外的軟體安裝。

IronXL 為開發人員提供了廣泛的功能和工具,簡化了 Excel 文件的處理工作。這包括對各種 Excel 文件格式的支持,操作工作表和表格的能力,以及管理定義名稱、數字格式等工具。該庫還支持自動和手動計算模式,以及多執行緒 Excel 計算以優化性能。

使用 IronXL,開發人員可以輕鬆創建新的 Excel 工作簿,為現有的工作簿添加數據,並使用 C# 代碼操作 Excel 公式和計算。該庫還包括強大的調試工具和功能,如公式瀏覽器和表格頁面管理器,這些功能有助於故障排除和優化 Excel 代碼。

IronXL 功能集

  • 載入、讀取和編輯來自各種檔案格式的資料,例如 XLS、XLSX、CSV 和 TSV。
  • 將資料匯出和保存為不同的檔案格式,包括 XLS、XLSX、CSV、TSV 和 JSON。
  • 使用 System.Data 物件,讓用戶可以將 Excel WorkBook 試算表作為 System.Data.DataSetSystem.Data.DataTable 物件來操作。
  • 支援 Excel 公式,每次編輯工作表時都會重新計算。
  • 讓使用者能夠透過其易於使用的 WorkSheet 語法直觀地創建和組合範圍。
  • 提供對範圍、欄和列進行排序和篩選的功能。
  • 使用戶能夠根據自己的喜好設置單元格樣式,包括視覺樣式、字體、大小、背景圖案、邊框、對齊和數字格式。

使用 FastExcel v4 處理 Excel 文件

要開始使用 FastExcel v4,您需要從官方網站下載最新版本。您可以使用試用版本來評估該庫,然後再購買正式授權版本。一旦安裝了 FastExcel v4,您就可以開始使用其工具來幫助您管理 Excel 文件。

如何讀取 Excel 數據並插入到 C# 的資料庫表格中:圖2 - ClosedXML NuGet 安裝

操作 Excel 檔案

FastExcel v4 提供了一系列用於在 C# 中操作 Excel 檔案的工具。您可以使用 FastExcel v4 開啟和儲存 Excel 活頁簿、操作工作表、管理已定義的名稱等。以下是一些使用 FastExcel v4 操作 Excel 檔案的示例:

開啟和儲存 Excel 活頁簿

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    // Do some work on the workbook here
    workbook.Save();
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    // Do some work on the workbook here
    workbook.Save();
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	' Do some work on the workbook here
	workbook.Save()
End Using
VB   C#

操作工作表

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets ["Sheet1"];
    // Do some work on the worksheet here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets ["Sheet1"];
    // Do some work on the worksheet here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Dim worksheet = workbook.Worksheets ("Sheet1")
	' Do some work on the worksheet here
End Using
VB   C#

管理定義名稱


    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var definedNames = workbook.DefinedNames;
        // Do some work on the defined names here
    }

    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var definedNames = workbook.DefinedNames;
        // Do some work on the defined names here
    }
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
		Dim definedNames = workbook.DefinedNames
		' Do some work on the defined names here
End Using
VB   C#

優化計算

FastExcel v4 的一個最大優勢就是其能夠優化 Excel 工作簿中的計算。隨著工作簿的大小和複雜性增加,Excel 計算可能會成為瓶頸。FastExcel v4 提供了幫助你優化計算和提高性能的工具。

如何在 C# 中讀取 Excel 數據並插入到資料庫表格:圖3 - 購買 FastExcel V3 - 幫助您更快運行 Excel - 決策模型

自動和手動計算

預設情況下,Excel 活頁簿使用自動計算,這意味著每當單元格變動時 Excel 會重新計算公式。這可能會耗費時間,特別是在大的活頁簿中。FastExcel v4 允許您在自動和手動計算之間切換,這可以顯著提高性能。以下是一個切換到手動計算的示例:

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.CalculationMode = CalculationMode.Manual;
    // Do some work on the workbook here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.CalculationMode = CalculationMode.Manual;
    // Do some work on the workbook here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	workbook.CalculationMode = CalculationMode.Manual
	' Do some work on the workbook here
End Using
VB   C#

陣列計算瓶頸

陣列計算也可能成為 Excel 工作簿中的瓶頸。FastExcel v4 提供工具來幫助您優化陣列計算並提高性能。以下是一個使用 FastExcel v4 優化陣列計算的示例:

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
    // Do some work on the workbook here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
    // Do some work on the workbook here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas
	' Do some work on the workbook here
End Using
VB   C#

如何在 C# 中讀取 Excel 資料並插入到資料庫表:圖 4 - 優化陣列計算

FastExcel Profiler

FastExcel Profiler 是一個用於優化 Excel 計算的重要工具。FastExcel Profiler 提供有關計算問題、過多膨脹和其他可能影響 Excel 工作簿性能的問題的詳細資訊。以下是如何使用 FastExcel Profiler 優化計算的範例:


using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var profiler = new FastExcelProfiler(workbook))
    {
        // Do some work on the workbook here
        profiler.DisplayReport();
    }
}

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var profiler = new FastExcelProfiler(workbook))
    {
        // Do some work on the workbook here
        profiler.DisplayReport();
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using profiler = New FastExcelProfiler(workbook)
		' Do some work on the workbook here
		profiler.DisplayReport()
	End Using
End Using
VB   C#

Tables Sheet Manager Pro

FastExcel TableSheet Manager Pro 是 FastExcel v4 家族中的另一個強大工具。它提供了幫助您管理 Excel 工作簿中表格的工具。Tables Sheet Manager Pro 允許您輕鬆管理單一工作表中的無限數量表格,這可以顯著減少過多的冗餘並提高性能。以下是一個使用 Tables Sheet Manager Pro 的示例:


using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var manager = new TableSheetManagerPro(workbook))
    {
        // Do some work on the tables here
    }
}

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var manager = new TableSheetManagerPro(workbook))
    {
        // Do some work on the tables here
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using manager = New TableSheetManagerPro(workbook)
		' Do some work on the tables here
	End Using
End Using
VB   C#

數字格式

FastExcel v4 也提供工具來幫助您管理 Excel 工作簿中的數字格式。您可以使用 FastExcel v4 對工作簿中的儲存格、列和行應用數字格式。以下是一個使用 FastExcel v4 應用數字格式的例子:


    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var worksheet = workbook.Worksheets ["Sheet1"];
        var column = worksheet.Columns ["A"];
        column.Style.NumberFormat = "#,##0.00";
    }

    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var worksheet = workbook.Worksheets ["Sheet1"];
        var column = worksheet.Columns ["A"];
        column.Style.NumberFormat = "#,##0.00";
    }
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
		Dim worksheet = workbook.Worksheets ("Sheet1")
		Dim column = worksheet.Columns ("A")
		column.Style.NumberFormat = "#,##0.00"
End Using
VB   C#

公式瀏覽器

FastExcel v4 提供了一個公式瀏覽器工具,可以讓你查看 Excel 工作簿中的公式。公式瀏覽器可以幫助你排除公式錯誤並優化計算。以下是一個如何使用公式瀏覽器的示例:


using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var explorer = new FormulaExplorer(workbook))
    {
        // Do some work on the formulas here
    }
}

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var explorer = new FormulaExplorer(workbook))
    {
        // Do some work on the formulas here
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using explorer = New FormulaExplorer(workbook)
		' Do some work on the formulas here
	End Using
End Using
VB   C#

使用 IronXL 操作 Excel 文件 開始使用 IronXL您需要安裝IronXL套件。您可以通過NuGet套件管理器安裝,或者從IronXL網站下載套件。安裝套件後,您可以在C#專案中開始使用IronXL。

打開和保存工作簿:要使用IronXL打開Excel工作簿,您可以使用以下代碼:

WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
Dim workbook As WorkBook = WorkBook.Load("C:\Test\MyWorkbook.xlsx")
VB   C#

這將打開位於指定路徑的工作簿。您還可以使用以下代碼創建一個新的工作簿:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.Xlsx)
VB   C#

要使用 IronXL 儲存工作簿,您可以使用以下代碼:

workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
VB   C#

這將把工作簿保存到指定的路徑。

如何读取 Excel 数据并插入到 C# 中的数据库表:图 5 - 保存工作簿

操作 Excel 工作表

要使用 IronXL 操作活頁簿中的工作表,您可以使用以下程式碼:

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

這將從活頁簿中取得名稱為 "Sheet1" 的工作表。然後您可以根據需要操作該工作表。

管理定義名稱

IronXL 提供工具幫助您管理 Excel 工作簿中的定義名稱。您可以使用以下代碼創建一個定義名稱:

worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
VB   C#

這將創建一個名為 MyRange 的已定義名稱,該名稱指的是工作表中的 A1:B10 範圍。

如何在 C# 中读取 Excel 数据并插入到数据库表:图 6 - CSVList

應用數字格式

要使用 IronXL 對單元格或範圍內的單元格應用數字格式,您可以使用以下程式碼:

worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ("A1").Style.NumberFormat.Format = "#,##0.00"
VB   C#

這將把 "#,##0.00" 的數字格式套用到工作表中的 A1 單元格。

優化計算

IronXL 提供工具幫助您優化 Excel 活頁簿中的計算。要優化計算,您可以使用以下程式碼:

workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
VB   C#

這將停用工作簿的自動計算。然後,您可以使用以下代碼手動計算該工作簿:

workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
VB   C#

這將計算工作簿中的所有公式。

如何在 C# 中讀取 Excel 資料並插入至資料庫表:圖7 - 所有公式已計算

比較

FastExcel 和 IronXL 都是強大的庫,用於使用 C# 語言操作 Excel 文件。雖然這兩個庫都提供了類似的功能,但它們之間還是有一些關鍵的區別。

FastExcel 是一個專注於提高 Excel 計算性能的庫,尤其是在處理大量數據集時。它提供自動和手動計算、針對陣列計算瓶頸的優化和開放計算方法等功能。FastExcel 還提供了像 FastExcel Profiler 和 FastExcel SpeedTools 這樣的工具來幫助管理和優化 Excel 工作簿。

另一方面,IronXL 是一個優先考慮易用性和靈活性的庫。它提供了廣泛的工具來幫助開發者在 C# 代碼中操作 Excel 文件。其中一些工具包括管理定義名稱、處理無限數量的工作表以及輕鬆管理數字格式的能力。IronXL 還支持多線程的 Excel 計算,使得它在處理大型數據集時是一個不錯的選擇。

雖然 FastExcel 和 IronXL 都是強大的 C# Excel 文件操作庫,IronXL 仍然有一些優勢使得它成為許多開發者的首選。首先,IronXL 具有更直觀的 API,使其更易於使用和學習。其次,IronXL 比 FastExcel 更實惠,這使得它對於較小的項目或預算有限的團隊來說是一個更好的選擇。

此外,IronXL 相較於 FastExcel 更輕量級。它沒有 FastExcel 那樣過多的臃腫,這會降低性能並使得管理大型 Excel 工作簿變得更加困難。

總的來說,雖然 FastExcel 和 IronXL 都是能夠處理 C# Excel 文件的有力庫,但由於其易用性、實惠性和輕量化特性,IronXL 是頂級之選。

結論

總之,在比較 FastExcel 和 IronXL 時,很明顯兩個庫都提供了一系列強大的工具和功能來使用 C# 代碼操作 Excel 文件。然而,兩個庫之間存在一些重要的區別,使得許多開發人員更傾向於選擇 IronXL。

從技術角度來看,IronXL 提供了更直觀和用戶友好的 API,使得各種技能水平的開發人員都更容易學習和使用。IronXL 還提供了一個輕量級的庫,沒有多餘的臃腫,這些會降低性能並使管理大型 Excel 工作簿變得更加困難。相比之下,FastExcel 更專注於提高 Excel 計算性能,但相較於 IronXL 可能更複雜和困難。

此外,IronXL 相比 FastExcel 提供了更實惠的授權模式,這對於小型項目或預算有限的團隊來說是更好的選擇。使用全授權版本的 IronXL,開發人員可以訪問所有功能和工具,且無需支付額外費用或受到限制。

總的來說,IronXL 是那些重視易用性、經濟實惠和輕量級性能的開發人員的首選。憑藉其強大的工具和功能,包括多線程的 Excel 計算和對無限數量工作表的支持,IronXL 是任何使用 C# 代碼處理 Excel 文件的開發人員的寶貴工具。

對於那些有興趣購買 IronXL 的人,Iron Software 提供 特別優惠 顧客可以以兩個產品的價格購買他們的全部五個Iron Software產品。這包括IronXL,以及其他強大的圖書館,用於處理PDF文件、OCR等。這個優惠為需要一系列工具來支持其項目的開發者提供了極大的價值。

下載 該軟體產品。

< 上一頁
EPPlus讀取 Excel 到 Datatable 的C# (IronXL 教程)
下一個 >
IronXL 和 ClosedXML 的比較

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 1,023,839 查看許可證 >