與其他組件比較

IronXL與Syncfusion Excel的比較

發佈 2022年6月7日
分享:

介紹

以程式方式操作 Excel 對於開發人員來說可能相當困難。當嘗試編輯 Microsoft Excel 文件時,會遇到許多問題。主要問題在於使用者界面的困難和缺乏文件說明,使得處理 Excel 文件變得困難。但幸運的是,我們現在有一些由技術高超的程式設計師編寫的 Excel 函式庫。這些函式庫幫助編輯 Microsoft Excel 文件數據。這裡我將討論兩個 C# Excel 函式庫:

  • IronXL: C# Excel Library
  • Syncfusion Excel Framework

讓我們開始比較這些函式庫。

IronXL: C# Excel 資料庫

IronXL 是一個由 開發的 .NET Excel 庫的 C# 代碼 Iron Software 用於以程式方式操作 Excel 文檔。IronXL 是用... .NET 框架 並且它簡化了開發通常需要 Microsoft Excel 才能運作的應用程式的流程。

IronXL 提供給程式設計師一組類別、方法和屬性,可以用來進行 讀取和寫入數據 從/到 Excel 活頁簿,操作活頁簿對象, 訪問外部數據來源,和 加載數據 放入 Excel 工作簿中。

讓我們來看看 IronXL 的功能。

IronXL 的功能

有很多 IronXL 功能 使其從其他庫中脫穎而出。

載入、閱讀和編輯資料

使用 IronXL,我們可以從如 XLS 等試算表文件中載入、閱讀和編輯資料。 XLSX, XLST, XLSM, CSV,TSV。IronXL 提供非常簡單且易於記憶的功能來創建、讀取和編輯這些 spreadsheet 文件。它對文檔提供了完全的控制。

建立圖表

IronXL 提供豐富的功能來創建電子表格 自訂圖表它有很好的 API 文件來支持它們。

保存和匯出

IronXL 非常適合用於保存和匯出多種格式的文檔。IronXL 提供將 Excel 文件匯出或轉換為 XLS、XLSX、XLST、XLSM、CSV、TSV 和 JSON 文件格式的功能。

處理公式

IronXL 支援 使用公式 在 Excel 档案中,我們可以根據需要創建任何公式並將其應用到任何儲存格。IronXL 擁有優秀且簡單的功能來協助我們處理公式。

儲存格數據格式

Excel 使用者通常需要使用 Excel 儲存格中的格式。IronXL 支援進階 條件格式化 功能。IronXL 透過簡單易用的功能幫助格式化儲存格數據。IronXL 支援 Microsoft Excel 支援的所有格式。您可以使用以下格式來格式化數據:

  • 文字
  • 數字
  • 公式
  • 日期
  • 貨幣
  • 百分比
  • 科學
  • 時間
  • 自定義格式

單元格樣式

單元格樣式是 Microsoft Excel 的一個重要功能,有助於區分重要數據。這非常有用,而且 IronXL 也支持此功能。您可以更改字體樣式、字體大小, 背景圖案, 邊框和對齊 使用 IronXL 函數。

Syncfusion Excel

Syncfusion 庫 提供用於讀取、寫入和操作 Microsoft Excel 的 API (XLS) 文件。Syncfusion 程式庫是一個 C# 程式庫,開發人員可以使用它來開發其應用程式,以用於讀取、寫入和操作 Microsoft Excel。 (XLS) 檔案。 自訂資料匯入 也支援。它與所有支援 C# 程式語言的作業系統相容。

Syncfusion Excel 的功能

讓我們來看看 Syncfusion Excel 函式庫的功能:

  • 從頭開始創建 Excel 文件。
  • 修改現有的 Excel 文件。 匯入和匯出資料
  • 支援 Excel 公式。
  • 支援表格的建立和操作, 樞紐分析表和樞軸圖。
  • 使用填充數據 模板標記讓我們來看看這些庫是如何工作的。為了檢查各種功能,我們需要首先創建一個C#項目。那麼,讓我們開始吧。

1. 建立一個C#專案

本教程將使用Visual Studio 2019版本 (建議使用最新版本) 和C#編程語言來建立一個專案。

  • 打開Visual Studio 2019。
  • 點擊「創建」以創建一個新專案。
  • 從模板中選擇C#控制台應用程式,並點擊_下一步_按鈕。

    控制台應用程式

    控制台應用程式

  • 給專案命名,然後點擊「下一步」按鈕。

    專案配置

    專案設定

  • 選擇 .NET 目標框架 >= 3.1,因為 3.1 得到支援且適用於所有設備。最新且最穩定的 .NET 框架版本是 5.0。點擊_建立_按鈕。這將會建立一個 C# 控制台應用程式。

    .NET 目標框架

    .NET 目標框架

您也可以使用現有的 C# 專案。只需打開專案並安裝所需的庫。我們將在下一節中看到如何安裝 Excel 庫。

2. 安裝 IronXL 庫

有多種方法可以下載和安裝 IronXL 庫。如下所示:

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

2.1 套件管理器控制台

我們可以使用套件管理器控制台來安裝 IronXL 庫。請按照以下步驟安裝:

  • 打開 套件管理器控制台。它通常位於 Visual Studio 的底部。

    套件管理控制台 套件管理器控制台

  • 輸入以下命令並按下 Enter 鍵。
  :ProductInstall
  • 它將開始安裝 IronXL 庫。

    IronXL 安裝

    IronXL 安裝

  • 安裝後,我們可以在專案中使用它。

2.2 使用 NuGet 套件管理器安裝

我們可以直接從 NuGet 套件管理器安裝 IronXL 庫。請按照以下步驟安裝 IronXL:

  • 點擊菜單欄上的工具,然後將鼠標懸停在 NuGet 套件管理器上。

    NuGet 套件管理器

    NuGet 套件管理員

  • 選擇管理方案的 NuGet 套件。在_瀏覽_中點擊並在搜索欄中輸入 IronXL。在搜索結果中會顯示 IronXL 庫。

    管理 NuGet 套件

    管理 NuGet 套件

  • 點擊 IronXL.Excel 並點擊 安裝 按鈕。它將自動安裝庫。

3. 安裝 Syncfusion Excel 庫

我們可以使用套件管理器主控台來安裝 Syncfusion Excel 庫。與 IronXL 不同,我們需要針對不同的專案(如 Windows Forms、WPF、ASP.NET、UWP 等)分別安裝每個庫。我們需要針對不同的平台撰寫不同的命令。

3.1 使用套件管理器主控台安裝

請按照以下步驟安裝Syncfusion Excel庫:

  • 前往套件管理器主控台。
  • 輸入以下命令以安裝Syncfusion Excel庫:
  • 輸入以下命令以在Windows Forms和WPF中使用Syncfusion Excel庫。
    :InstallCmd Install-Package Syncfusion.XlsIO.WinForms
    :InstallCmd Install-package Syncfusion.XlsIO.Wpf
  • 它會開始安裝該庫。安裝後,您可以輕鬆地在您的專案中使用Syncfusion Excel框架。

4. 閱讀 Excel 文件

閱讀 Excel 文件是任何 Excel 資源庫的主要功能。我們將看看如何使用 IronXL 和 Syncfusion Excel 框架來閱讀 Excel 文件。

4.1 IronXL

IronXL 使得在不使用 Microsoft.Office.Interop.Excel 的情況下讀取 Excel 文件成為可能。在開始使用 IronXL 之前,有一個重要步驟需要完成——我們始終將 IronXL 匯入到我們的程式檔案中。因此,在頂部,我們必須寫下以下這行程式碼:

using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
Imports IronXL
Imports System.Linq
VB   C#

接下來,請寫下以下代碼行來讀取和編輯 Excel 文件,無需撰寫多行代碼並具備核心編程知識的麻煩。

//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
'Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
'Select cells easily in Excel notation and return the calculated value, date, text or formula
Dim cellValue As Integer = sheet ("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In sheet ("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

WorkBook.Load 函數有助於輕鬆加載工作簿。在給定的代碼中,我們還可以看到單元格的值並將它們打印到控制台。

4.2 Syncfusion Excel

讓我們看看如何使用Syncfusion Excel框架來讀取和編輯現有的Excel文件。首先,為了使用Syncfusion Excel框架,我們需要將Syncfusion導入我們的專案。為此,我們必須在程式碼文件的頂部添加以下幾行程式碼:

using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
Imports Syncfusion.XlsIO
Imports System.Drawing
VB   C#

接下來,將以下程式碼行新增到專案中,以使用Syncfusion Excel框架讀取和存取Excel檔案。

//Create an instance of new ExcelEngine IApplication application
using (ExcelEngine excelEngine = new ExcelEngine())
{
    //Instantiate the Excel application object using IApplication application = excelengine excel
    IApplication application = excelEngine.Excel;

    //Set the Excelengine excel application defaultversion = excelversion
    application.DefaultVersion = ExcelVersion.Excel2016;

    //Load the existing Excel workbook into IWorkbook workbook = application. Workbooks
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    //Get the first worksheet in the workbook into IWorksheet
    IWorksheet worksheet = workbook.Worksheets [0];

    //Assign some text in a cell
    worksheet.Range ["A3"].Text = "Hello World";

    //Save the Excel document
    workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016);
}
//Create an instance of new ExcelEngine IApplication application
using (ExcelEngine excelEngine = new ExcelEngine())
{
    //Instantiate the Excel application object using IApplication application = excelengine excel
    IApplication application = excelEngine.Excel;

    //Set the Excelengine excel application defaultversion = excelversion
    application.DefaultVersion = ExcelVersion.Excel2016;

    //Load the existing Excel workbook into IWorkbook workbook = application. Workbooks
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    //Get the first worksheet in the workbook into IWorksheet
    IWorksheet worksheet = workbook.Worksheets [0];

    //Assign some text in a cell
    worksheet.Range ["A3"].Text = "Hello World";

    //Save the Excel document
    workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016);
}
'Create an instance of new ExcelEngine IApplication application
Using excelEngine As New ExcelEngine()
	'Instantiate the Excel application object using IApplication application = excelengine excel
	Dim application As IApplication = excelEngine.Excel

	'Set the Excelengine excel application defaultversion = excelversion
	application.DefaultVersion = ExcelVersion.Excel2016

	'Load the existing Excel workbook into IWorkbook workbook = application. Workbooks
	Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")

	'Get the first worksheet in the workbook into IWorksheet
	Dim worksheet As IWorksheet = workbook.Worksheets (0)

	'Assign some text in a cell
	worksheet.Range ("A3").Text = "Hello World"

	'Save the Excel document
	workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016)
End Using
VB   C#

我們可以看到,要在Syncfusion Excel中讀取Excel文件,我們需要先定義Excel版本。然後我們可以打開文件並進行編輯。要保存修改後的文件,我們必須根據Excel版本再次定義修改後文件的內容類型。IronXL在這種情況下非常容易理解和使用,因為我們不必定義Excel版本,而且IronXL中有簡單且易於記住的帶參數函數。

5. 建立新的 Excel 文件

接下來,我們將比較建立新 Excel 文件的方法並用數值填充所建立的文件。首先,我們將看看如何在 IronXL 中建立文件。

5.1 IronXL

IronXL 不需要在伺服器上安裝 Excel 或 Interop。IronXL 提供比 Microsoft.Office.Interop.Excel 更快速且直觀的 API。如我們所知,我們需要先導入 IronXL 庫,然後編寫代碼來創建 Excel 文件。以下代碼用於在 IronXL 中創建 Excel 文件。

using IronXL;
//Create new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
//Add data and styles to the new worksheet
xlsSheet ["A1"].Value = "Hello World";
xlsSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
//Save the excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
//Create new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
//Add data and styles to the new worksheet
xlsSheet ["A1"].Value = "Hello World";
xlsSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
//Save the excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
'Create new Excel WorkBook document. 
Private xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"
'Add a blank WorkSheet
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")
'Add data and styles to the new worksheet
xlsSheet ("A1").Value = "Hello World"
xlsSheet ("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet ("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
'Save the excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
VB   C#

輸出:

IronXL 輸出

IronXL Output

我們可以設定 Excel 檔案的中繼資料。透過簡單易用的功能,可以非常輕鬆地設定儲存格的數值和格式。我們使用 Style.BottomBorder.SetColor 函數來設定儲存格底邊框的顏色。

5.2 Syncfusion Excel

以下程式碼說明了如何使用 Syncfusion Excel 建立一個新的 Excel 文件並且儲存它。請加入以下程式碼並包含必要的命名空間:

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
VB   C#

現在添加以下程式碼行:

//New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
//Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  //Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  //Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  //A new workbook is created equivalent to creating a new workbook in Excel
  //Create a workbook with 1 worksheet using workbook = application Workbooks create
  IWorkbook workbook = application.Workbooks.Create(1);

  //Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets [0];

  //Adding text to a cell
  worksheet.Range ["A1"].Text = "Hello World";

  //Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
//New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
//Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  //Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  //Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  //A new workbook is created equivalent to creating a new workbook in Excel
  //Create a workbook with 1 worksheet using workbook = application Workbooks create
  IWorkbook workbook = application.Workbooks.Create(1);

  //Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets [0];

  //Adding text to a cell
  worksheet.Range ["A1"].Text = "Hello World";

  //Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
'New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
'Instantiate the spreadsheet creation engine
Using excelEngine As New ExcelEngine()
  'Instantiate the Excel application object
  Dim application As IApplication = excelEngine.Excel

  'Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013

  'A new workbook is created equivalent to creating a new workbook in Excel
  'Create a workbook with 1 worksheet using workbook = application Workbooks create
  Dim workbook As IWorkbook = application.Workbooks.Create(1)

  'Access first worksheet from the workbook
  Dim worksheet As IWorksheet = workbook.Worksheets (0)

  'Adding text to a cell
  worksheet.Range ("A1").Text = "Hello World"

  'Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx")
End Using
VB   C#

以上程式碼建立了一個新的 IWorkbook 物件,然後使用 Workbooks.Create 在活頁簿中建立了一個工作表。()函數。 它透過 "cells" 屬性訪問 Excel 工作表的單元格,最後使用 SaveAs 保存文件()函式。

6. 匯出 Excel 文件

接下來,我們將探討如何將 Excel 文件匯出到其他數據格式。這對於 Excel 庫而言是個重要功能,因為有時我們需要以不同的格式來處理不同種類的數據——這就是我們要檢查哪個庫提供簡單易用解決方案的原因。

6.1 IronXL

使用IronXL,我們只需一行代碼即可轉換Excel文件。IronXL可以將Excel數據導出為CSV、JSON、XML、XLSX、XLS等多種格式。

以下代碼有助於使用IronXL將Excel文件轉換為不同格式。

//Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
//Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
'Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
VB   C#

在上面的代碼中,我們看到只需一行代碼就可以非常輕鬆地導出Excel文件。但是,我們需要先打開或創建Excel文件,而我們已經在上面看到了如何使用IronXL打開和創建Excel文件。

6.2 Syncfusion Excel

Syncfusion Excel 框架可以將 Excel 文件轉換為 PDF 和 JSON 格式。我們可以在不安裝額外函式庫的情況下將 Excel 文件轉換為 JSON 格式。以下是將已打開的 Excel 文件轉換為 JSON 文件的代碼。

//Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

//Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
//Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

//Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
'Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")

'Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
VB   C#

要將典型的 Excel 文件轉換成 PDF 文件,我們需要安裝一個額外的函式庫來提供轉換支持。Excel-to-ODS 將 Excel 文件保存為 ODS 格式,以便在 OpenOffice 和 Google Sheets 等各種應用程序中使用。Excel-to-HTML 動態渲染 Excel 工作簿或工作表為 HTML 文件。

7. 保護 Excel 文件

保護是 Microsoft Excel 最重要的功能。它讓您可以控制誰能編輯和打開文件。受密碼保護的 Excel 文件很重要,因為它們可能存儲重要數據。讓我們來看看如何使用 Excel 庫來保護我們的 Excel 文件。

7.1 IronXL

使用IronXL,我們可以只需一行代碼來保護我們的Excel文件。以下代碼示範了我們如何開啟並保護Excel文件。

using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

//This is how we can protect the worksheet by setting the password to it
//Users will then need to know this password to edit the password protected Excel files worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

//This is how to unprotect the worksheet and remove any password locks 
//It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

//This is how we can protect the worksheet by setting the password to it
//Users will then need to know this password to edit the password protected Excel files worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

//This is how to unprotect the worksheet and remove any password locks 
//It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet

'This is how we can protect the worksheet by setting the password to it
'Users will then need to know this password to edit the password protected Excel files worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()

'This is how to unprotect the worksheet and remove any password locks 
'It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
VB   C#

保護工作表()function 可讓用戶加密 Excel 文件。要解除工作表保護,我們可以使用UnprotectSheet()` 加載 Excel 檔案後的函式。此函式將移除所有密碼,即使你不知道密碼。

7.2 Syncfusion Excel

我們可以使用 Syncfusion Excel 框架來保護 Excel 文件。以下代碼可以讓我們創建並保護 Excel 文件。

private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        //Instantiate the application object
        IApplication application = excelEngine.Excel;

        //Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        //Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        //Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        //Instantiate the application object
        IApplication application = excelEngine.Excel;

        //Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        //Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        //Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
Private Sub ProtectWorkbook()
	Using excelEngine As New ExcelEngine()
		'Instantiate the application object
		Dim application As IApplication = excelEngine.Excel

		'Create a workbook
		Dim workbook As IWorkbook = application.Workbooks.Create(1)

		'Protect the workbook specifying a password with Boolean attributes for structure and windows protection
		Dim isProtectWindow As Boolean = True
		Dim isProtectContent As Boolean = True
		workbook.Protect(isProtectWindow, isProtectContent, "password")

		'Save the Excel file
		workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
	End Using
End Sub
VB   C#

我們使用 Protect() 加密 Excel 文件的函數。若只需要保護工作表或還需要保護 Excel 文件內容,我們需要將三個參數傳遞給函數。第三個參數將是您要設置的密碼。

8. 授權

8.1 IronXL

IronXL 完全免費供開發使用。您可以嘗試每一個方面的開發功能。但是,在免費開發版本中會有浮水印。您也可以在生產環境中免費試用。您可以啟用 免費試用 在生產環境中無需任何支付。如果您選擇購買 IronXL,價格方案如下:

Lite Edition ($Lite License)

如果您是單一開發人員並希望在您的項目中使用 IronXL,您可以選擇 Lite Edition。這將是您的最佳選擇。

IronXL Lite

IronXL Lite

專業版 ($ProfessionalLicense)

專業版最適合擁有多個分支機構的公司。本版本支援10個地點、10位開發人員和10個專案同時進行。

IronXL Professional

IronXL Professional

Unlimited Edition

無限制版 ($Unlimited License)

此定價計劃僅需一次付款,即可支援無限開發者、無限地點和無限專案,且終生有效。如果您希望在許多專案中使用IronXL,這是最佳選擇。

IronXL Unlimited

IronXL Unlimited

IronXL 也支援權利金分配,並為您提供產品支援和更新。

版稅分配

版稅分配

IronXL 的 授權頁面 包含更多關於定價和使用權的詳細資訊。

8.2 Syncfusion Excel Library

Syncfusion Excel 庫也提供免費試用。如果您想購買 Syncfusion Excel,您可以以 $395 的價格購買,適用於最多五位開發人員的團隊。Syncfusion 提供額外的許可證會。 10人以上的開發團隊,和特殊 無限授權 用於單個項目或整個公司。

Syncfusion

Syncfusion

9. 結論

兩個庫都提供了有效的功能。但從大局來看,IronXL 更方便、更易於使用。它具有簡單且容易記住的功能。在 IronXL 的幫助下,你可以用一行代碼進行大量的編輯和格式化。代碼流程雖然複雜,但初學者也能很輕鬆地理解。你不需要了解或理解 IronXL 的工作原理。不同平台不需要額外安裝單獨的庫。一經安裝,就可以進行每一個操作。

Syncfusion Excel 有很多功能,正如我們上面所見到的。我們可以在 Syncfusion Excel 的幫助下進行多種格式化和轉換。我們可以創建新的 Excel 文檔,修改已存在的 Excel 文件,進行多種格式化和加密。但需要安裝一個單獨的庫來進行轉換。

IronXL 有多種定價方案。你可以根據自己的需求購買最合適的方案。例如,如果你是唯一的開發人員並且需要 IronXL 用於商業用途的項目,你只需一次性付款 $749,即可激活使用。這比 Syncfusion 更具成本效益,後者要求你為一個開發人員和一個項目的庫支付每年 $999。因此,IronXL 更便宜,並且提供比 Syncfusion Excel 框架更好的選擇。

總之,IronXL 是比 Syncfusion Excel 框架更好的選擇。正如我們在上述段落中所見,IronXL 由於其簡單的功能,非常易於使用,我們可以用一行代碼進行多種格式化。但是在 Syncfusion Excel 框架中,我們需要編寫多行代碼來定義許多在 IronXL 的後端已經定義的項目,用戶不需要花時間定義多個參數和變量。此外,IronXL 也更便宜並具有更好的授權選項。Iron Software 目前有一個特別優惠,你可以以兩個的價格購買五個軟件包。這意味著你可以... 購買五個Iron Software套件 只需 $suiteLiteLicense

< 上一頁
IronXL與GrapeCity Excel Viewer之比較
下一個 >
IronXL 與 Spire XLS 的比較

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

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