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

IronXL 與 FastExcel for .NET 的比較

在 C# 中處理 Excel 文件時,最受歡迎的兩個庫是 IronXL(Iron Suite 套件中的一個解決方案)和 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 檔案。

如何在 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 - 決策模型

自動計算和手動計算

預設情況下,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 工作簿中的表格。 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
$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,也可以從 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 - CSVList

數字格式的應用

若要使用 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 更經濟實惠,因此對於預算有限的小型專案或團隊來說,它是一個更好的選擇。

此外,與 FastExcel 相比,IronXL 是一個更輕量級的函式庫。 它不像 FastExcel 那樣臃腫,不會降低效能,也不會讓管理大型 Excel 工作簿變得更加困難。

雖然 FastExcel 和 IronXL 都是在 C# 中處理 Excel 檔案的功能強大的程式庫,但 IronXL 因其易用性、價格實惠和輕量級特性而成為首選。

結論

總之,比較 FastExcel 和 IronXL,很明顯,這兩個函式庫都提供了一系列強大的工具和功能,可以使用 C# 程式碼來操作 Excel 檔案。 然而,這兩個庫之間存在一些關鍵差異,這使得 IronXL 成為許多開發人員的首選。

從技術角度來看,IronXL 提供了一個更直觀、更人性化的 API,使各種技能水平的開發人員更輕鬆地學習和使用。 IronXL 還提供了一個輕量級庫,該庫沒有過多的臃腫內容,不會降低效能,也不會使管理大型 Excel 工作簿變得更加困難。 相較之下,FastExcel 更著重於提高 Excel 的計算效能,但與 IronXL 相比,它可能更複雜、更難使用。

此外,與 FastExcel 相比,IronXL 的授權模式更經濟實惠,因此對於預算有限的小型專案或團隊來說,它是一個更好的選擇。 購買 IronXL 的完整授權版本後,開發人員可以存取所有功能和工具,無需支付任何額外費用或受到任何限制。

總的來說,IronXL 是那些優先考慮易用性、經濟性和輕量級效能的開發人員的首選。 IronXL 擁有強大的工具和功能,包括多線程 Excel 計算和對無限數量工作表的支持,對於任何使用 C# 程式碼處理 Excel 文件的開發人員來說,它都是一款非常寶貴的工具。

對於有興趣購買 IronXL 的用戶,Iron Software 提供了一個特別優惠,客戶可以以兩款產品的價格購買其全部五款 Iron Software 產品。 這包括 IronXL,以及其他用於處理 PDF 文件、OCR 等的強大庫。 對於需要一系列工具來支援其專案的開發人員來說,這項交易極具價值。

下載軟體產品。

請注意FastExcel v4 是其各自所有者的註冊商標。 本網站與 FastExcel v4 無任何關聯,亦未獲得其認可或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較資料僅供參考,並反映撰寫時的公開資訊。

常見問題解答

IronXL 的主要功能是什麼?

IronXL.Excel 提供的功能包括多執行緒計算、支援各種 Excel 檔案格式(如 XLS、XLSX、CSV 和 TSV),以及管理工作表、公式和數字格式的工具,而不需要外部依賴。

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

您可以利用 IronXL 的多執行緒計算功能優化 Excel 計算,在處理複雜或大型資料集時,可提升效能與效率。

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

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

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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。