跳過到頁腳內容
與其他組件的比較

IronXL 與 FastExcel for .NET 的比較

當涉及到使用C#中的Excel文件,兩個最受歡迎的庫是IronXL,這是Iron Suite套組的一部分,以及FastExcel v4。這兩個庫都提供一系列工具和功能,幫助開發人員操作和管理Excel工作簿。 這兩個軟件各自都很出色,但僅僅出色還不夠。 我們將評估每個庫提供的功能,以確定哪個是最適合您需求的選擇。 在本文中,我們將比較IronXL和FastExcel v4,強調每個庫的優勢和劣勢,並提供如何在C#中使用二者的示例。

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

FastExcel v4

FastExcel v4是一族多線程C#庫,提供管理Excel工作簿的工具。 FastExcel v4的最新版本引入了新功能,如表單工作表管理專業版,簡化了已定義名稱的管理,以及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文件。

如何在C#中讀取Excel數據並插入到數據庫表中:圖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
$vbLabelText   $csharpLabel

操作工作表

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
$vbLabelText   $csharpLabel

管理已定義名稱

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
$vbLabelText   $csharpLabel

優化計算

FastExcel v4的最大優勢之一是其優化Excel工作簿計算的能力。 隨著工作簿的大小和復雜性增加,Excel計算可能成為瓶頸。 FastExcel v4提供工具來幫助您優化計算並提高性能。

如何在C#中讀取Excel數據並插入到數據庫表中:圖3 - 購買FastExcel V3 - 幫助您更快運行Excel - Decision Models

自動和手動計算

默認情況下,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
$vbLabelText   $csharpLabel

數組計算瓶頸

數組計算也可能成為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
$vbLabelText   $csharpLabel

如何在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
$vbLabelText   $csharpLabel

表單工作表管理專業版

FastExcel TableSheet Manager Pro是FastExcel v4系列中的另一個強大工具。 它提供工具幫助您管理Excel工作簿中的表格。 表單工作表管理專業版允許您輕鬆管理單個工作表中的無限多個表格,這可以顯著減少過度膨脹並提高性能。 這裡是一個如何使用表單工作表管理專業版的示例:

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
$vbLabelText   $csharpLabel

數字格式

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
$vbLabelText   $csharpLabel

公式瀏覽器

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
$vbLabelText   $csharpLabel

使用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")
$vbLabelText   $csharpLabel

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

WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.Xlsx)
$vbLabelText   $csharpLabel

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

workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
$vbLabelText   $csharpLabel

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

如何在C#中讀取Excel數據並插入到數據庫表中:圖5 - 保存工作簿

操作Excel工作表

要使用IronXL操作工作簿中的工作表,您可以使用下面的代碼:

WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
$vbLabelText   $csharpLabel

這將從工作簿中獲取名為"Sheet1"的工作表。 然後您可以按需要操作工作表。

管理已定義名稱

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

worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
$vbLabelText   $csharpLabel

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

如何在C#中讀取Excel數據並插入到數據庫表中:圖6 - CSV列表

應用數字格式

要使用IronXL將數字格式應用到單元格或單元格範圍,您可以使用以下代碼:

worksheet["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet("A1").Style.NumberFormat.Format = "#,##0.00"
$vbLabelText   $csharpLabel

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

優化計算

IronXL提供了工具幫助您優化Excel工作簿中的計算。 要優化計算,您可以使用以下代碼:

workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
$vbLabelText   $csharpLabel

這將關閉工作簿中的自動計算。 然後您可以使用以下代碼手動計算工作簿:

workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
$vbLabelText   $csharpLabel

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

如何在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等。 這個優惠對於需要一系列支援項目的工具的開發者來說提供了非凡的價值。

下載軟件產品。

[{i:(FastExcel v4是其註冊所有者的註冊商標。 本網站與FastExcel v4無關,未受到其認可或贊助。所有產品名稱、商標和品牌均為各自所有者的財產。 比較僅供參考,反映撰寫時公開可用的信息。

常見問題解答

IronXL 的主要功能是什麼?

IronXL 提供特性,如多執行緒計算,支援各種 Excel 文件格式,如 XLS、XLSX、CSV 和 TSV,還有管理工作表、公式和數字格式的工具,而不需要外部依賴。

如何使用 C# 函式庫優化 Excel 計算?

您可以利用 IronXL 的多執行緒計算功能來優化 Excel 算法,增強處理複雜或大型數據集時的性能和效率。

我可以使用這個函式庫管理 Excel 公式嗎?

是的,IronXL 支援管理 Excel 公式,允許每次編輯時重新計算。它包括例如 Formula Explorer 之類的工具,用於故障排除和優化計算。

IronXL 支援不同的 Excel 文件格式嗎?

IronXL 可以從多種格式中載入、閱讀和編輯數據,如 XLS、XLSX、CSV 和 TSV。它也允許將數據導出到如 JSON 的格式,提供處理各種數據格式的靈活性。

IronXL 適合有預算限制的開發者嗎?

是的,IronXL 以其可負擔性聞名,成為有預算限制的開發者的合適選擇。它提供全面的功能集又不含過多冗餘,保證物有所值。

IronXL 需要安裝任何外部軟體嗎?

不,IronXL 獨立運行,不需要任何外部依賴或額外的軟體安裝,對開發者來說是一個便利的選擇。

IronXL 是一個對 Excel 操作友好的函式庫嗎?

IronXL 因其直觀的語法和輕量級特性受到讚譽,使所有技術等級的開發者都能夠輕鬆上手。它為 C# 中的 Excel 文件操作提供簡單明了的解決方案。

購買 IronXL 時有特別優惠嗎?

是的,Iron Software 提供一個特別優惠,客戶可以以兩個的價格購買他們的五款產品,包括 IronXL,給需要多工具的開發者提供絕佳價值。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。