在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在處理Excel文件在C#在眾多可用的程式庫中,IronXL(Iron Suite 套件中的解決方案)和 FastExcel v4 是其中兩個非常受歡迎的程式庫。這兩個程式庫都提供了一系列的工具和功能,可以幫助開發人員操作和管理 Excel 工作簿。 這兩款軟體各自都很出色,但出色還不夠。 我們將評估每項提供的功能,以確定哪一項是滿足您需求的最佳選擇。 在本文中,我們將比較 IronXL 和 FastExcel v4,強調每個庫的優勢和劣勢,並提供如何在 C# 中使用這兩個庫的示例。
FastExcel v4 是一組多執行緒 C# 程式庫,提供管理 Excel 活頁簿的工具。 FastExcel v4 的最新版本引入了新功能,如表格試算表管理專業版(Tables Sheet Manager Pro),簡化了已定義名稱的管理,以及 FastExcel SpeedTools,有助於減少工作簿的膨脹。
使用 FastExcel v4,開發者可以根據需求選擇自動或手動計算方法。 該庫提供多種工具來處理工作表和工作簿,包括支持無限公式和計算。
FastExcel v4 的其中一個主要優勢是其速度。 該庫被設計得很高效,即使在處理大型或複雜的工作簿時也是如此。 它包括多執行緒計算,可以顯著加快計算過程,並提供管理記憶體使用和優化性能的工具。
IronXL 是一個強大的C#程式庫使開發人員能夠以程式方式操作和創建 Excel 文件。 它提供熟悉的 C# 語法及方法來讀取、寫入和修改 Excel 文件,無需任何外部依賴或額外的軟體安裝。
使用IronXL,開發人員可以使用廣泛的功能和工具,簡化Excel文件的處理。 這包括支持各種 Excel 文件格式、操作工作表和表格的能力,以及管理已定義名稱、數字格式等的工具。 該庫還支持自動和手動計算模式,以及多線程 Excel 計算以優化性能。
使用 IronXL,開發者可以輕鬆地創建新的 Excel 工作簿、向現有工作簿添加數據,並使用 C# 代碼操作 Excel 公式和計算。 該庫還包含強大的調試工具和功能,如公式瀏覽器和表格工作表管理器,有助於排除故障和優化 Excel 代碼。
System.Data
物件,這使得使用者能夠將 Excel WorkBook
試算表作為 System.Data.DataSet
和 System.Data.DataTable
物件進行操作。WorkSheet
語法直觀地創建和組合範圍。要開始使用 FastExcel v4,您需要從官方網站下載最新版本。您可以使用試用版來評估該庫,然後再購買完整版的許可。 安裝 FastExcel v4 之後,您可以開始使用其工具來幫助您管理 Excel 文件。
FastExcel v4 提供了一系列工具,用於在 C# 中處理 Excel 文件。 您可以使用 FastExcel v4 開啟和儲存 Excel 活頁簿、操作工作表、管理已定義的名稱等。 以下是一些如何使用 FastExcel v4 操作 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
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
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
FastExcel v4 最大的優勢之一是其優化 Excel 工作簿計算的能力。 隨著工作簿的大小和複雜性增長,Excel 計算可能成為瓶頸。 FastExcel v4 提供了幫助您優化計算和提升性能的工具。
預設情況下,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
在 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
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
FastExcel TableSheet
Manager Pro 是 FastExcel 第四版系列中的又一款強大工具。 它提供工具來協助您管理 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
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
FastExcel v4 提供了一個公式瀏覽工具,可讓您查看 Excel 活頁簿中的公式。 公式探索器可以幫助您排查公式錯誤並優化計算。 以下是使用 Formula Explorer 的範例:
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
To開始使用 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")
這將開啟位於指定路徑的工作簿。 您也可以使用以下程式碼創建新的工作簿:
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.Xlsx)
要使用 IronXL 儲存工作簿,您可以使用以下代碼:
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
這將把工作簿儲存到指定路徑。
若要使用 IronXL 操作活頁簿中的工作表,您可以使用以下程式碼:
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
這將從工作簿中獲取名為「Sheet1」的工作表。 然後,您可以根據需要操作工作表。
IronXL提供工具來幫助您管理Excel工作簿中的已定義名稱。 您可以使用以下代碼創建一個定義的名稱:
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
這會建立一個稱為 MyRange
的已定義名稱,指向工作表中的範圍 A1:B10。
若要使用 IronXL 對單元格或單元格範圍應用數字格式,可以使用以下代碼:
worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ("A1").Style.NumberFormat.Format = "#,##0.00"
這將把 "#,##0.00" 的數字格式套用到工作表中的 A1 單元格。
IronXL 提供工具幫助您優化 Excel 活頁簿中的計算。 要優化計算,您可以使用以下程式碼:
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
這將關閉活頁簿中的自動計算。 然後,您可以使用以下代碼手動計算工作簿:
workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
這將計算工作簿中的所有公式。
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 相比,它可能更複雜且難以使用。
此外,IronXL 提供比 FastExcel 更便宜的授權模式,這使它對於小型項目或預算有限的團隊來說是一個更好的選擇。 使用IronXL的完整版授權後,開發者可以不受任何額外費用或限制地存取所有功能和工具。
總體而言,IronXL 是重視易用性、實惠性和輕量化性能的開發人員的首選。 IronXL 擁有強大的工具和功能,包括多執行緒 Excel 計算和對無限數量工作表的支援,是任何使用 C# 程式碼處理 Excel 文件的開發人員不可或缺的工具。
對於那些有興趣購買IronXL的人而言,Iron Software提供特別優惠客戶可以以兩件商品的價格購買他們全部五件 Iron Software 產品。 這包括 IronXL,以及其他強大的庫,用於處理 PDF 文件、OCR 等。 這項交易為需要多種工具支持專案的開發者提供了極高的價值。
*下載該軟體產品。