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

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();
}
$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.
}
$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.
}
$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.
}
$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.
}
$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();
    }
}
$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.
    }
}
$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";
}
$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.
    }
}
$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");
$vbLabelText   $csharpLabel

這將開啟位於指定路徑的工作簿。 您也可以使用以下程式碼建立新的工作簿:

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

要使用IronXL儲存工作簿,可以使用以下程式碼:

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"];
$vbLabelText   $csharpLabel

這將從工作簿中取得名為"Sheet1"的工作表。 然後您可以根據需要對工作表進行修改。

管理已定義名稱

IronXL提供工具來協助您管理 Excel 工作簿中定義的名稱。 您可以使用以下程式碼建立已定義的名稱:

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

這將把數字格式"#,##0.00"應用於工作表中的儲存格 A1。

最佳化計算

IronXL提供各種工具,幫助您最佳化 Excel 工作簿中的計算。 為了優化計算,您可以使用以下程式碼:

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

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

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

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我