與其他組件比較

IronXL 與 Aspose Cells 的比較

發佈 2022年3月29日
分享:

能夠處理 Excel 文件以生成報告和建立資料庫,已成為當今軟體應用程式的基本需求。 現在有許多函式庫可用,允許使用者在沒有 Microsoft Excel 的情況下完成此操作。

在本文中,我們將討論並比較如何使用兩個最受歡迎的程式庫,IronXL 和 Aspose Cells,在 C# .NET 技術中以程式化的方式處理 Microsoft Excel 文件。

IronXL 和 Aspose Cells 都提供在 .NET 框架中創建、編輯和讀取 Excel 文件的方法。 下一個問題是決定哪一個 C# Excel 庫 最適合您的專案。 本文將幫助您為您的應用程式決定最佳選擇。

首先,我們來看看這兩個庫的提供內容,然後進行比較。

IronXL 庫

IronXL 是一個 .NET 函式庫,可以用 C# 來讀取和編輯 Microsoft Excel 文檔。 IronXL.Excel 是一個獨立的 .NET 軟體庫,用於讀取多種電子表格格式。 它不需要安裝 Microsoft Excel,也不依賴於 Interop。

IronXL 是一个直观的 C# API,使您能够以闪电般的速度在 .NET 中读取、编辑和创建 Excel 电子表格文件。 IronXL 完全支持 .NET Core、.NET Framework、Xamarin、移动、Linux、macOS 和 Azure。

IronXL 是一個領先的 .NET Core 和 .NET Framework Excel 試算表庫,適用於 C#。

IronXL 功能集

  • 載入、讀取和編輯數據 — 來自 XLS/XLSX/CSV/TSV
  • 儲存和匯出 — 到 XLS/XLSX/CSV/TSV/JSON
  • System.Data 物件 — 將 Excel 試算表作為 System.Data.DataSet 和 System.Data.DataTable 物件進行處理。
  • 公式 — 支援 Excel 公式。 每次編輯工作表時公式都會重新計算。
  • 範圍 — 易於使用的工作表["A1:B10"]語法。 直觀地合併和創建範圍。
  • 排序 — 排序範圍、列和行。
  • 樣式 — 儲存格視覺樣式、字體、大小、背景圖案、邊框、對齊和數字格式。

Aspose Cells

Aspose.Cells for .NET 是一個 Excel 電子表格編程 API,用於加速電子表格管理和處理任務。 該 API 支援構建具備產生、修改、轉換、呈現和列印電子表格能力的跨平台應用程式。 此外,它不依賴於安裝 Microsoft Excel 或任何 Microsoft Office Interop 組件,而是提供了一套強大的 API,可處理所有 Excel 格式以及 CSV 和 SpreadsheetML 格式。

通過整合 API,開發人員可以執行基本任務,例如管理多個工作表,從頭創建試算表的內容和樣式,從不同的數據來源導入數據到工作表中,添加常見和複雜的數學、金融及文本公式,操作圖表、圖片、註解、繪圖對象等。

Aspose Cells Excel 試算表 API 功能

以下是 Aspose Cells 的一些突出功能:

渲染

  • 圖表轉換為圖像
  • 工作表轉換為圖像
  • 列印

    資料處理

  • 套用格式
  • 套用公式
  • 總結
  • 智慧標記

    Grid Suite

  • 桌面控制用於 WinForms
  • ASP.NET 的 Web 控制項
  • 套用格式
  • 套用公式
  • 匯入/匯出資料

    本文章的其餘部分如下:

  1. 建立主控台應用程式

  2. IronXL C# 程式庫安裝

  3. Aspose Cells 安裝

  4. 創建並保存新的 Excel 工作簿和工作表

  5. 讀取 Excel 檔案

  6. 使用 Excel 公式

  7. 相互轉換檔案

  8. 授權

  9. 結論

1. 建立主控台應用程式

使用以下步驟來創建一個控制台應用程式:

  • 啟動 Visual Studio 2022 IDE。
  • 點擊「創建新專案」
  • 「創建新項目」 頁面中,從語言下拉列表中選擇 C#,從 平台 列表中選擇 Windows,從 「項目類型」 列表中選擇 控制台
  • 選擇控制台應用程式(.NET框架)**從顯示的專案範本中選取。
    建立專案 - 控制台應用程式
  • 點擊下一步
  • 附加資訊 畫面中,指定您要使用的 Framework 版本。 在此範例中,我們將使用 .NET Framework 4.8

    創建項目 -.NET Framework
  • 點擊創建以完成該流程。

    現在專案已建立,我們幾乎準備好測試這些函式庫。 但是,我們仍然需要安裝並將它們整合到我們的專案中。 讓我們先安裝IronXL。

2. 安裝 IronXL C# 函式庫

您可以使用以下方法下載並安裝IronXL庫:

  1. 使用 Visual Studio 與 NuGet 套件。

  2. 直接下載 NuGet 套件。

  3. 手動安裝 DLL。

    讓我們更仔細地看看每一個。

2.1. 使用 Visual Studio 與 NuGet 套件

Visual Studio 提供 NuGet 套件管理器以在您的專案中安裝 NuGet 套件。 您可以通過專案選單存取它,或在方案總管中右鍵點擊您的專案。

選擇管理 NuGet 套件
  • 接著,從瀏覽標籤 -> 搜尋 IronXL.Excel -> 安裝

    搜索 IronXL
  • 我們完成了。

2.2. 直接下載 NuGet 套件

這可以透過直接訪問 NuGet 網站並下載套件來完成。 步驟如下:

2.3. 使用 DLL 手動安裝

另一種下載和安裝IronXL C#庫的方法是通過開發者命令提示符,使用以下步驟來安裝IronXL NuGet套件

  • 打開 Developer Command Prompt — 通常位於 Visual Studio 文件夾中。

    輸入以下命令:

    PM > Install-Package IronXL.Excel

  • 按下 Enter 鍵。
  • 這將下載並安裝套件。
  • 重新載入您的 Visual Studio 專案並開始使用它。

2.4. 添加必要的 Using 指令

  1. 在方案總管中,右鍵點擊 Program.cs 檔案,然後點擊檢視程式碼。

  2. 將以下使用指令新增到程式碼文件的頂部:
using IronXL;
using IronXL;
Imports IronXL
VB   C#

全部完成! IronXL 已下載、安裝並準備使用。 然而,在此之前,我們應該安裝 Microsoft.Office.Interop.Excel。

3. Aspose Cells 安裝

3.1. 使用 Visual Studio 與 NuGet 套件

在創建專案後,通過專案選單或在方案總管中右鍵點擊您的專案來訪問 NuGet 套件管理員。

  • 現在,從瀏覽選項卡 -> 搜尋 Aspose Cells -> 安裝

3.2. 使用 NuGet 套件管理器控制台

另一種下載和安裝 Aspose Cells C# 庫的方法是通過開發人員命令提示字元使用以下步驟來安裝 NuGet 封裝

  • 打開 Developer Command Prompt — 通常位於 Visual Studio 文件夾中。

    輸入以下命令:

    PM> Install-Package Aspose.Cells

  • 按下 Enter 鍵。
  • 這將下載並安裝套件。
  • 重新載入您的 Visual Studio 專案並開始使用它。

3.3. 直接下載

您可以通過點擊此鏈接直接從網站下載任何版本的 Aspose Cells: https://downloads.aspose.com/cells/net

或:

從 NuGet 網站下載: https://www.nuget.org/packages/Aspose.Cells/

3.4. 添加必要的使用指令

  1. 在方案總管中,右鍵點擊 Program.cs 檔案,然後點擊檢視程式碼。

  2. 將以下使用指令新增到程式碼文件的頂部:
using Aspose.Cells;
using Aspose.Cells;
Imports Aspose.Cells
VB   C#

4. 建立並儲存新的 Excel 活頁簿和工作表

工作簿是一個包含多個具有行和列的工作表的 Excel 文件。 這兩個庫都提供創建新 Excel 工作簿和工作表的功能。 讓我們一步一步地看看這段代碼。

4.1. 使用 IronXL 新建 Excel 工作簿和工作表

使用IronXL創建新的Excel工作簿再簡單不過了。! 只需一行程式碼! 真的。 將以下程式碼添加到 Program.cs 文件中的 static void main 函數:

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

這兩個XLS(較舊的 Excel 文件版本)和XLSX(當前及較新版本檔案)可以使用IronXL建立檔案格式。

而且,創建一個預設的工作表更簡單:

var worksheet = workbook.CreateWorkSheet("IronXL Features");
var worksheet = workbook.CreateWorkSheet("IronXL Features");
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")
VB   C#

現在您可以使用工作表變數來設置單元格值,並完成Excel文件幾乎所有能做的事情。

保存 Excel 檔案:

//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");
'Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx")
VB   C#

4.2. 使用 Aspose.Cells 建立新的 Excel 工作簿和工作表

在創建試算表及其內容之前,必須創建一個許可證對象,以避免購買許可版本時的評估限制。 代碼如下:

// Create a License object
License license = new License();

// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");
// Create a License object
License license = new License();

// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");
' Create a License object
Dim license As New License()

' Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir & "Aspose.Cells.lic")
VB   C#

接下來,讓我們看看如何創建工作簿和工作表的程式碼。 代碼示例如下:

// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();

// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets [0];
// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();

// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets [0];
' Instantiate a Workbook object that represents Excel file.
Dim wb As New Workbook()

' When you create a new workbook, a default "Sheet1" is added to the workbook.
Dim sheet As Worksheet = wb.Worksheets (0)
VB   C#

保存 Excel 檔案:

//Save spreadsheet
wb.Save("NewExcelFile.xlsx");
//Save spreadsheet
wb.Save("NewExcelFile.xlsx");
'Save spreadsheet
wb.Save("NewExcelFile.xlsx")
VB   C#

5. 讀取 Excel 檔案

這兩個庫都可以打開和讀取現有的 Excel 文檔。 讓我們來看看示範代碼。

5.1. 使用 IronXL 讀取 Excel 文件

IronXL WorkBook 類別表示一個 Excel 工作表。 若要使用 C# 打開 Excel 文件,我們使用 WorkBook.Load 並指定 Excel 文件的路徑。(.xlsx). 以下單行程式碼用於開啟檔案以供讀取:

//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
VB   C#

每個 WorkBook 可以有多個 WorkSheet 物件。 這些代表 Excel 文件中的工作表。 如果工作簿包含工作表,可以按名稱檢索它們,如下所示:

//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
VB   C#

讀取單元格值的代碼:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

5.2. 使用 Aspose.Cells 讀取 Excel 文件

在 Aspose Cells 中讀取 Excel 文件也是一個簡單的任務,因為它可以輕鬆管理多個工作表。 請查看以下程式碼:

// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");

//Adding new sheet
Worksheet sheet = workbook1.Worksheets.Add("MySheet");
// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");

//Adding new sheet
Worksheet sheet = workbook1.Worksheets.Add("MySheet");
' Creating a Workbook object and opening an Excel file using its file path
Dim workbook As New Workbook("Spreadsheets\\sample.xlsx")

'Adding new sheet
Dim sheet As Worksheet = workbook1.Worksheets.Add("MySheet")
VB   C#

讀取儲存格數值的程式碼:

//Get Cells
Cells cells = sheet.Cells;
foreach (var cell in cells)
{
    Console.WriteLine(cell.Value);
}
//Get Cells
Cells cells = sheet.Cells;
foreach (var cell in cells)
{
    Console.WriteLine(cell.Value);
}
'Get Cells
Dim cells As Cells = sheet.Cells
For Each cell In cells
	Console.WriteLine(cell.Value)
Next cell
VB   C#

6. 使用 Excel 公式

Excel公式是使用Excel文件時最重要的功能之一。 兩個庫都擁有強大的公式計算引擎。它們提供工作與公式的功能,並能輕鬆地將其應用於單元格。

6.1. 使用 IronXL 處理 Excel 公式

載入工作簿和工作表後,可以使用以下代碼範例來更改公式或應用於特定儲存格。 代碼如下:

// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();
' Set Formulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"

' Force recalculate all formula values in all sheets.  
workbook.EvaluateAll()
VB   C#

您還可以檢索公式及其值:

// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet ["G30"].Value;

//Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet ["G30"].Formula;

//Save your changes with updated formulas and calculated values.
workbook.Save();
// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet ["G30"].Value;

//Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet ["G30"].Formula;

//Save your changes with updated formulas and calculated values.
workbook.Save();
' Get the formula's calculated value.  e.g. "52"
Dim formulaValue As String = worksheet ("G30").Value

'Get the formula as a string. e.g. "Max(C3:C7)"
Dim formulaString As String = worksheet ("G30").Formula

'Save your changes with updated formulas and calculated values.
workbook.Save()
VB   C#

6.2. 使用 Aspose.Cells 處理 Excel 公式

使用 Aspose.Cells 也可以輕鬆地處理公式。 將以下程式碼添加到正在讀取的 Excel 文件中。 代碼如下:

//Setting values
Cells cells = sheet.Cells;

//Setting formula
cells ["A4"].Formula = "=SUM(A1:A3)";

// Calculating the results of formulas
workbook.CalculateFormula();
//Setting values
Cells cells = sheet.Cells;

//Setting formula
cells ["A4"].Formula = "=SUM(A1:A3)";

// Calculating the results of formulas
workbook.CalculateFormula();
'Setting values
Dim cells As Cells = sheet.Cells

'Setting formula
cells ("A4").Formula = "=SUM(A1:A3)"

' Calculating the results of formulas
workbook.CalculateFormula()
VB   C#

按照上面的程式碼,您可以輕鬆地設置更多公式。

7. 互相轉換檔案 — (Excel、XLS、XLSX、XLSB、XLSM、XPS資料交換)

IronXL 和 Aspose Cells 都提供了將 Excel xlsx 檔案轉換為不同格式的功能,並且可以將不同格式轉換為 Excel 活頁簿。

7.1. 使用 IronXL 的轉換過程

過程非常簡單且容易。 通常只需一行代碼即可完成。

CSV 轉換為 Excel 格式:

WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: 
ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: 
ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet

workbook.SaveAs("CsvToExcelConversion.xlsx")
VB   C#

XLSX檔到XLSM檔:

WorkBook workbook = WorkBook.Load("test.xlsx");

//This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");
WorkBook workbook = WorkBook.Load("test.xlsx");

//This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")

'This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm")
VB   C#

Excel 轉換為 HTML, 並提供選項:

WorkBook workbook = WorkBook.Load("test.xlsx");

var options = new HtmlExportOptions()
{
    //This is how we can make row/column numbers visible in html document
    OutputRowNumbers = true,
    OutputColumnHeaders = true,
    OutputHiddenColumns = true,

    //This is how we can make hidden rows/columns visible in html document
    OutputHiddenRows = true,
    OutputLeadingSpacesAsNonBreaking = true
};

//This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options);
WorkBook workbook = WorkBook.Load("test.xlsx");

var options = new HtmlExportOptions()
{
    //This is how we can make row/column numbers visible in html document
    OutputRowNumbers = true,
    OutputColumnHeaders = true,
    OutputHiddenColumns = true,

    //This is how we can make hidden rows/columns visible in html document
    OutputHiddenRows = true,
    OutputLeadingSpacesAsNonBreaking = true
};

//This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options);
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")

Dim options = New HtmlExportOptions() With {
	.OutputRowNumbers = True,
	.OutputColumnHeaders = True,
	.OutputHiddenColumns = True,
	.OutputHiddenRows = True,
	.OutputLeadingSpacesAsNonBreaking = True
}

'This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options)
VB   C#

7.2. 使用 Aspose.Cells 的轉換過程

在 Aspose Cells 中轉換 Excel xlsx 文件也相對簡單。 請看以下代碼:

Excel 轉換為 HTML:

//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx"); 

//save file to html format
workbook.Save("out.html");
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx"); 

//save file to html format
workbook.Save("out.html");
'Load your source workbook
Dim workbook As New Workbook("Book1.xlsx")

'save file to html format
workbook.Save("out.html")
VB   C#

ODs 文本到 Excel:

//Load your source ods text file
Workbook workbook = new Workbook("book1.ods");

//Save as xlsx file
workbook.Save("ods_out.xlsx");
//Load your source ods text file
Workbook workbook = new Workbook("book1.ods");

//Save as xlsx file
workbook.Save("ods_out.xlsx");
'Load your source ods text file
Dim workbook As New Workbook("book1.ods")

'Save as xlsx file
workbook.Save("ods_out.xlsx")
VB   C#

Excel 工作表轉換為 SVG 格式:

// Instantiate a workbook
var workbook = new Workbook();

// Populate worksheets first cell
workbook.Worksheets [0].Cells ["A1"].Value = "DEMO TEXT ON SHEET1";

// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");
// Instantiate a workbook
var workbook = new Workbook();

// Populate worksheets first cell
workbook.Worksheets [0].Cells ["A1"].Value = "DEMO TEXT ON SHEET1";

// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");
' Instantiate a workbook
Dim workbook As New Workbook()

' Populate worksheets first cell
workbook.Worksheets (0).Cells ("A1").Value = "DEMO TEXT ON SHEET1"

' Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg")
VB   C#

8. 授權

IronXL 是一個開放商業的 C# Excel 函式庫。 它在開發時免費,並且始終可以獲得商業部署的許可。 授權可用 單專案使用、單一開發人員、代理商和全球企業,以及 SaaS 和 OEM 重新分發。 所有授權均包含30天退款保證、一年的產品支援和更新,有效於開發/測試/生產環境,並且還有永久授權。(一次性購買). Lite 套裝的起價為 $749。

Aspose Cells 是一個開源 API,可以獲得商業使用許可。 Aspose.Cells 產品的評估版本提供完整的產品功能,但在一個程式中最多只能開啟 100 個檔案,並具有包含評估浮水印的附加工作表。 技術支持免費且無限制,並提供給持有許可證和評估版的用戶。 如果您想在沒有評估版本限制的情況下測試 Aspose.Cells,請申請 30 天臨時授權或從此購買授權版本。 連結. 開發者小型企業套裝價格自 $1199 起。

9. 結論

相比之下,IronXL 和 Aspose.Cells 在處理 Excel 時正面交鋒。 IronXL和Aspose.Cells都提供進階的Excel功能以及基本的Excel操作。 IronXL 在開發過程中是免費的,而 Aspose.Cells 則有評估期,每個應用程式的文件數量限制為 100。 在這裡,IronXL 在非商業用途中具有優勢。 此外,IronXL 也提供與 JSON 格式之間的轉換。

< 上一頁
IronXL 和 Microsoft Office Interop Excel 的比較

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

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