与其他组件比较

IronXL与Syncfusion Excel的比较

发布 2022年六月7日
分享:

介绍

对于开发人员来说,以编程方式操作 Excel 可能比较困难。 在尝试编辑 Microsoft Excel 文件时会出现一些问题。 主要问题在于用户界面和文档的缺乏,这使得处理 Excel 文件变得困难。不过幸运的是,我们现在有了一些由熟练程序员编写的 Excel 库。 这些库有助于编辑 Microsoft Excel 文件数据。 这里我将讨论两个 Excel C# 库:

  • IronXL: C# Excel 库
  • Syncfusion Excel 框架

    让我们从这些库的比较开始。

IronXL: C# Excel 库

IronXL是一个由 C# 代码组成的 .NET Excel 库。铁软件译文必须保持专业性,在保持技术准确性的同时,解释这些开发工具的功能和优点。 IronXL 的编写基于.NET框架该手册的主要目的是帮助开发人员了解.NET、Java、Python 或 Node js,并简化通常需要 Microsoft Excel 才能运行的应用程序的开发过程。

IronXL 为程序员提供了一组类、方法和属性,可用于读写数据操作工作簿对象、访问外部数据源载入数据翻译成 Excel 工作簿。

让我们来看看 IronXL 的功能。

IronXL 的功能

有许多IronXL 的特点使其从其他图书馆中脱颖而出。

加载、读取和编辑数据

使用 IronXL,我们可以从 XLS 等电子表格文档中加载、读取和编辑数据、XLSXXLST, XLSM、CSVIronXL、IronXL 和 TSV。IronXL 提供了非常简单易记的函数来创建、读取和编辑这些电子表格文档。 它提供了对文档的完全控制。

创建图表

IronXL 拥有种类繁多的功能,可以用其创建电子表格定制图表. 它具有良好的 API 文档支持。

保存和导出

IronXL 非常适合保存和导出多种格式的文档。 IronXL.Excel 提供将 Excel 文件导出或转换为 XLS、XLSX、XLST、XLSM、CSV、TSV 和 JSON 文件格式的功能。

使用公式

IronXL 支持使用公式在 Excel 文件中。 我们可以根据需要创建任何公式并将其应用到任何单元格中。 IronXL.Excel 具有出色而简单的功能,可以帮助我们处理公式。

单元格数据格式

Excel 用户经常需要在 Excel 单元格中使用格式。 IronXL 支持高级条件格式特点 IronXL 可以帮助您使用简单易用的功能格式化单元格数据。 IronXL 支持 Microsoft Excel 支持的所有格式。 您可以使用这些格式对数据进行格式化:

  • 文本
  • 数量
  • 公式
  • 日期
  • 货币
  • 百分比
  • 科学
  • 翻译时间
  • 自定义格式

单元格样式

单元格样式是 Microsoft Excel 的一项重要功能,有助于区分重要数据。 它非常有用,IronXL 也支持这一功能。 您可以更改字体样式、字体大小、背景图案, 边界和对齐方式使用 IronXL 功能。

Syncfusion Excel

"(《世界人权宣言》)Syncfusion 库提供了用于读写和操作 Microsoft Excel 的应用程序接口(电子表格)文件 Syncfusion 库是一个 C# 库,开发人员可以用它来创建自己的应用程序,用于读取、写入和操作 Microsoft Excel(电子表格)文件 定制数据导入还支持 它兼容所有支持 C# 编程语言的操作系统。

Syncfusion Excel 的功能

让我们来看看 Syncfusion Excel 库的功能:

  • 从零开始创建 Excel 文档。
  • 修改现有 Excel 文档。
  • 导入和导出数据.
  • 支持 Excel 公式。
  • 支持创建和操作表格、数据透视表此外,译文还包括:.NET、Java、Python 或 Node js。
  • 使用以下语言填写数据模板标记.

    让我们来看看这些库是如何工作的。 为了检查各种功能,我们需要先创建一个 C# 项目。那么,让我们开始吧。

1.创建 C# 项目

本教程将使用 Visual Studio 2019 版本(建议使用最新版本)和 C# 编程语言来构建项目。

  • 打开 Visual Studio 2019。
  • 单击 "创建 "创建新项目。
  • 从模板中选择 C# 控制台应用程序,然后单击 Next 按钮。

    控制台应用程序

    控制台应用程序

  • 为项目命名,然后单击 "下一步 "按钮。

    项目配置

    项目配置

  • 选择 .NET 目标框架 >= 3.1,因为 3.1 支持并适用于所有设备。最新、最稳定的 .NET Framework 版本是 5.0。单击 Create 按钮。 它将创建一个 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 软件包。 点击 Browse 并在搜索栏中输入 IronXL。 它将在搜索结果中显示 IronXL 库。

    管理 NuGet 软件包

    管理 NuGet 软件包

  • 点击 IronXL.Excel,然后点击 Install 按钮。 它将自动安装库。

3.安装 Syncfusion Excel 库

我们可以使用软件包管理器控制台安装 Syncfusion Excel 库。 与 IronXL 不同的是,我们需要针对不同的项目(如 Windows Forms、WPF、ASP.NET、UWP 等)对每个库进行不同的安装。 我们需要为不同的平台编写不同的命令。

3.1 使用软件包管理器控制台进行安装

请按照以下步骤安装 Syncfusion Excel 库:

  • 转到软件包管理器控制台。
  • 编写以下命令安装 Syncfusion Excel 库:
  • 编写以下命令,以便在 Windows 窗体和 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 不需要在服务器或 Interop 上安装 Excel。IronXL 提供了比 Microsoft.Office.Interop.Excel更快、更直观的 API。 我们已经知道,我们需要先导入 IronXL 库,然后编写代码来创建 Excel 文件。 以下代码用于在 IronXL.Excel 中创建 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 输出

我们可以设置 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 在工作簿中创建了一个工作表。()功能。 它通过 "单元格 "属性访问 Excel 工作表的单元格,最后使用 "SaveAs "保存文件。()功能。

6.导出 Excel 文件

接下来,我们将了解如何将 Excel 文件导出为其他数据格式。 这是 Excel 库的一项重要功能,因为有时我们需要不同格式的数据来进行不同类型的处理--这就是为什么我们要检查哪个库能提供简单易行的解决方案。

6.1 IronXL

使用 IronXL,我们只需一行代码就能转换 Excel 文件。 IronXL 可以将 Excel 数据导出为 CSV、JSON、XML、XLSX、XLS 等格式。

以下代码有助于使用 IronXL.Excel 将 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 打开和创建 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#

保护表()函数使用户可以对 Excel 文件进行加密。要解除对工作表的保护,我们可以使用 `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
VB   C#

我们使用 "保护()函数来加密 Excel 文件。如果只需要保护工作表,或者还需要保护 Excel 文件的内容,我们需要向函数传递三个参数。第三个参数是要设置的密码。

8.许可

8.1 IronXL

IronXL 对开发完全免费。 您可以尝试它的每一个开发环节。 但是,免费开发版本中会有水印。 您也可以在生产中免费试用。 您可以激活免费试用无偿提供。 如果您选择购买 IronXL,价格方案如下:

Lite 版 ($liteLicense)

如果您是单个开发人员,希望在项目中使用 IronXL,可以选择 Lite 版。 这将是您的最佳选择。

IronXL Lite

IronXL Lite

专业版 ($专业许可证)

如果您的公司在全球有多个分支机构,最好选择专业版。 本版本一次支持 10 个地点、10 名开发人员和 10 个项目。

IronXL 专业版

IronXL Professional

无限版 ($unlimitedLicense`(无限许可证)

此定价方案支持无限量开发人员、无限量地点和无限量项目,只需一次付款即可终身使用。 如果您希望在许多项目中使用 IronXL,它是最佳选择。

IronXL 无限

IronXL 无限

IronXL 还支持版税分销,同时还为您提供产品支持和更新。

版税分配

版权分配

IronXL's许可页面包含有关定价和使用权的更多详细信息。

8.2 Syncfusion Excel 库

Syncfusion Excel 库还提供免费试用。 如果您想购买 Syncfusion Excel,可以以 395 美元的价格购买,一个团队最多可有五名开发人员。 Syncfusion 提供以下附加许可由 10 名或更多开发人员组成的团队和特别无限许可证可用于单个项目或整个公司。

同步融合

同步融合

9.结论

这两个库都提供了有效的功能。 但是,如果从大处着眼,IronXL 更方便、更易用。 它的功能小巧易记。 在 IronXL 的帮助下,您可以用一行代码完成大量编辑和格式化工作。 代码的流程比较复杂,但初学者很容易理解。 您无需了解 IronXL 的知识或工作原理。 无需为不同平台安装单独的库。 只需安装一次,您就可以完成所有操作。

如上所述,Syncfusion Excel 具有许多功能。 在 Syncfusion Excel 的帮助下,我们可以进行多种格式化和转换。 我们可以创建新的 Excel 文档、修改已有的 Excel 文件、进行多种格式化和加密。 我们必须安装一个单独的库来执行转换。

IronXL 有多种定价方案。 您可以购买最适合自己需求的计划。 例如,如果您是唯一的开发人员,并且需要 IronXL 用于某个项目的商业用途,您只需一次性支付 $749 即可激活它。 与 Syncfusion 相比,它的成本效益要高得多,因为 Syncfusion 只要求您购买一年的库,价格仅为 999 美元,而且只适用于一名开发人员和一个项目。 因此,与 Syncfusion Excel 框架相比,IronXL 要便宜得多,而且能提供更好的选择。

总之,IronXL 是比 Syncfusion Excel 框架更好的选择。 正如我们在以上段落中所看到的,由于 IronXL 功能简单,使用起来非常方便,我们只需一行代码就可以完成许多格式化。 但是,在 Syncfusion Excel 框架中,我们需要编写多行代码来定义许多项目,而这些项目在后端 IronXL.Excel 中已经定义,用户无需再花时间定义多个参数和变量。 此外,IronXL 还比较便宜,并且有更好的许可选项。 Iron Software 目前有一项优惠活动,您只需花两套软件的价格即可购买五套软件。 这意味着您可以购买五套 Iron 软件只适用于 $suiteLiteLicense

< 前一页
IronXL 与葡萄城 Excel Viewer 之间的比较
下一步 >
IronXL与Spire XLS的比较

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 1,111,773 查看许可证 >