跳至頁尾內容
與其他組件的比較

IronXL 與 Syncfusion Excel 的比較

以程式方式操作Excel對開發者來說可能很困難。 嘗試編輯Microsoft Excel文件時會遇到一些問題。 主要問題是使用介面困難及缺乏文件說明,使得處理Excel文件變得困難。但幸運的是,我們現在有一些由技術熟練的程式設計師編寫的Excel程式庫。 這些程式庫有助於編輯Microsoft Excel文件資料。 在這裡我將討論兩個Excel的C#程式庫:

  • IronXL: C# Excel Library
  • Syncfusion Excel Framework

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

IronXL: C# Excel Library

IronXL 是由 Iron Software 開發的一個.NET Excel程式庫,用於以程式方式操作Excel文件。 IronXL是基於.NET框架編寫的,簡化了通常需要Microsoft Excel才能運作的應用程式開發過程。

IronXL提供給程式設計師一組類別、方法和屬性,可用於從Excel活頁簿讀取和寫入資料、操控活頁簿物件、存取外部資料來源載入資料到Excel活頁簿。

讓我們來看看IronXL的特色。

IronXL的功能

IronXL有許多功能使它從其他程式庫中脫穎而出。

載入、讀取和編輯資料

使用IronXL,我們可以從電子表格文件中載入、讀取和編輯資料,例如XLS、XLSX、XLST、XLSM、CSV和TSV。IronXL提供非常簡單且容易記住的功能來建立、讀取和編輯這些電子表格文件。 它對文件提供完整的控制。

建立圖表

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 (XLS)文件的API。 Syncfusion程式庫是一個C#程式庫,開發者可以使用它來建立用于讀取、寫入和操控Microsoft Excel (XLS)文件的應用程式。 自訂資料導入也受到支持。 它與所有支持C#程式語言的操作系統相容。

Syncfusion Excel的功能

讓我們看看Syncfusion 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鍵。

    Install-Package IronXL
    Install-Package IronXL
    SHELL
  • 它將開始安裝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窗體、WPF、ASP.NET、UWP等分別安裝每個程式庫。 我們需要為不同平台編寫不同的命令。

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

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

  • 前往套件管理器控制台。
  • 輸入以下命令安裝Syncfusion Excel程式庫:

    Install-Package Syncfusion.XlsIO.WinForms
    Install-Package Syncfusion.XlsIO.WinForms
    SHELL
  • 若您正在進行WPF專案的工作,請輸入以下命令:

    Install-package Syncfusion.XlsIO.Wpf
    Install-package Syncfusion.XlsIO.Wpf
    SHELL
  • 它將開始安裝程式庫。 安裝後,您可以在專案中輕鬆使用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
$vbLabelText   $csharpLabel

接下來,寫下以下程式碼行來讀取和編輯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
$vbLabelText   $csharpLabel

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

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

// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

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

    // Get the first worksheet
    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");
}
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

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

    // Get the first worksheet
    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");
}
' Create an instance of new ExcelEngine
Using excelEngine As New ExcelEngine()
	' Instantiate the Excel application object
	Dim application As IApplication = excelEngine.Excel
	' Set the Excel engine application version
	application.DefaultVersion = ExcelVersion.Excel2016

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

	' Get the first worksheet
	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")
End Using
$vbLabelText   $csharpLabel

我們可以看到在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 a 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 a 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 a 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")
$vbLabelText   $csharpLabel

輸出:

IronXL輸出 IronXL輸出

我們可以設置Excel文件的元資料。 用於簡單且易於使用的功能來設置單元格的值並格式化單元格。 我們使用Style.BottomBorder.SetColor函式來設置單元格底部邊框的顏色。

5.2 Syncfusion Excel

以下程式碼演示了如何建立一個新的Excel文件並使用Syncfusion Excel保存它。 新增以下程式碼,並包含必要的命名空間:

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
$vbLabelText   $csharpLabel

現在,新增以下程式碼行:

// 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;

  // Create a workbook with 1 worksheet
  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;

  // Create a workbook with 1 worksheet
  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

  ' Create a workbook with 1 worksheet
  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
$vbLabelText   $csharpLabel

上面的程式碼建立一個新的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")
$vbLabelText   $csharpLabel

在上述程式碼中,我們看到我們可以很輕鬆地在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)
$vbLabelText   $csharpLabel

要將普通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;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// 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;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// 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

' Protect the worksheet by setting the password to it
' Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()

' Unprotect the worksheet and remove any password locks 
' It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
$vbLabelText   $csharpLabel

UnprotectSheet() 功能。即使您不知道密碼,此功能將刪除所有密碼。

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

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

8. 授权

8.1 IronXL

IronXL 對於開發是完全免費的。 您可以為開發嘗試其所有方面。 但免費開發版本將有水印。 在生產中,您也可以免費試用它。 您可以激活免費的試用版,而無需任何付款。 如果您選擇購買IronXL,價格計畫如下:

Lite版本

如果您是單一開發者並希望在專案中使用IronXL,您可以選擇Lite版本。 這將是您最好的選擇。

IronXL Lite IronXL Lite

專業版

如果您有一家在全球各地擁有多個分公司的公司,專業版是最好的選擇。 此版本同時支持10個位置、10位開發者和10個專案。

IronXL Professional IronXL Professional

無限制版本

此定價計畫支持無限的開發者、無限的位置和無限的專案,通過一次付款即可享有終身使用權。 如果您希望在許多專案中使用IronXL,這是最佳選擇。

IronXL Unlimited IronXL Unlimited

IronXL還支持免版稅分發,並且還為您提供產品支持和更新。

Royalty Distribution Royalty Distribution

IronXL的授權頁面包含有關定價和使用權的更多詳情。

8.2 Syncfusion Excel程式庫

Syncfusion Excel程式庫也提供免費試用。 如果您想購買Syncfusion Excel,那麼您可以為$395購買它,適用于多達五位開發者的團隊。 Syncfusion為10位或更多開發者的團隊提供額外的授權,還為單個專案或整個公司提供無限授權

Syncfusion Syncfusion

9. 結論

這兩個程式庫都提供有效的功能。 但是,如果我們看大局,IronXL更方便且更容易使用。 它擁有小而容易記住的功能。 在IronXL的幫助下,您可以用一行程式碼進行大量的編輯和格式化。 程式碼流程雖然複雜,但初學者可以很容易地理解。 您不需要具備IronXL的知識或理解其工作原理。 不需要為不同平台安裝單獨的程式庫。 安裝一次,即可隨時進行所有操作。

正如我們在上面看到的一樣,Syncfusion Excel擁有許多功能。 我們可以在Syncfusion Excel的幫助下進行許多格式化和轉換。 我們可以建立新的Excel文件,修改已存在的Excel文件,進行多重格式設定,並進行加密。 我們需要安裝一個單獨的程式庫來執行轉換。

IronXL有多種定價計畫。 您可以購買最適合您需求的計畫。 例如,如果您是唯一的一位開發者,並且需要IronXL用於商業用途的專案,您可以用一次性付費的方式激活它,這遠比Syncfusion便宜很多,後者要求您每年花費幾百美元購買程式庫,並且只能用于一位開發者和一個專案。 所以,IronXL遠比Syncfusion Excel框架便宜,並提供更好的選擇。

總而言之,IronXL比Syncfusion Excel框架更好。 正如我們在上面的段落中看到的,由於其簡單的功能,使用IronXL非常容易,我們可以用一行程式碼進行許多格式化。 但在Syncfusion Excel框架中,我們需要寫多行程式碼來定義IronXL後端已經定義的許多項目,使用者不需要花時間去定義多個參數和變數。 此外,IronXL也更便宜,並且有更好的授權選項。 Iron Software目前有一個特別優惠,您可以用兩個價格購買五個軟體包。 這意味著您可以購買五個Iron Software 軟體包,價格優惠。

請注意Syncfusion是其各自所有者的註冊商標。 此網站與Syncfusion沒有關聯、由Syncfusion背書或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供資訊參考,反映了撰寫時公開可用的資訊。

常見問題

使用IronXL進行Excel文件操作的主要優勢是什麼?

IronXL 提供簡化且友好的API,讓開發者可以輕鬆地讀取、寫入和操作Excel文件。它支持多種文件格式,如XLS、XLSX、CSV和JSON,並提供資料載入、圖表建立、公式處理和單元格樣式設置等功能,而不需要安裝Microsoft Excel。

我如何在C#中將Excel文件轉換為不同的格式?

您可以使用IronXL將Excel文件匯出為各種格式,如CSV、JSON、XML、XLSX和XLS。這可以用最少的程式碼完成,便於整合到您的C#應用程式中。

使用IronXL是否必須安裝Excel?

不,IronXL不需要在您的伺服器或工作站上安裝Microsoft Excel。它提供自己的API來處理Excel文件操作任務。

IronXL的授權與Syncfusion Excel相比如何?

IronXL提供一個帶有浮水印的免費開發版本和幾個付費版供商業使用,提供靈活的授權模式。相比之下,Syncfusion Excel 需要購買授權,其定價基於開發者和項目的數量。

IronXL相較於Syncfusion Excel對新手來說更好的原因是什麼?

IronXL對新手來說通常更容易,因為其簡單而直觀的API,使得可以通過極少的程式碼來完成複雜的任務。與Syncfusion Excel不同,IronXL不需要定義多個參數,這使得它對於新接觸Excel操作的開發者來說更易於使用。

IronXL能夠處理Excel文件的保護和安全性嗎?

是的,IronXL可以通過允許使用者使用密碼和其他保護功能來管理Excel文件的保護。這確保在共享Excel文件時資料的完整性和機密性。

為什麼開發者應該考慮使用IronXL而不是Syncfusion Excel?

開發者可能會選擇IronXL而不是Syncfusion Excel,因為其簡單、易用、具有成本效益以及強大的功能集,不需要為不同平台額外的程式庫。IronXL提供了操作Excel文件的簡單方法,是開發者的理想選擇。

IronXL是否支持處理Excel文件中的公式?

是的,IronXL支持處理Excel公式,允許您讀取、寫入和評估Excel文件中的公式,提供程式化處理複雜計算的綜合解決方案。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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