与其他组件比较 IronXL 和 Syncfusion Excel 的比较 Curtis Chau 已更新:七月 28, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 对于开发人员来说,以编程方式操作 Excel 可能比较困难。 在尝试编辑 Microsoft Excel 文件时会出现一些问题。 主要问题在于用户界面和文档的缺乏,这使得处理 Excel 文件变得困难。不过幸运的是,我们现在有了一些由熟练程序员编写的 Excel 库。 这些库有助于编辑 Microsoft Excel 文件数据。 这里我将讨论两个 Excel C# 库: IronXL:C# Excel 库 Syncfusion Excel 框架 让我们从这些库的比较开始。 IronXL:C# Excel 库 IronXL 是由 Iron Software 开发的一个包含 C# 代码的 .NET Excel 库,用于以编程方式操作 Excel 文档。 IronXL 是基于 .NET Framework 编写的,它简化了通常需要 Microsoft Excel 才能运行的应用程序的开发过程。 IronXL 为程序员提供了一组类、方法和属性,可用于从/到 Excel 工作簿读写数据、操作工作簿对象、访问外部数据源以及向 Excel 工作簿加载数据。 让我们来看看 IronXL 的功能。 IronXL的特点 IronXL.Excel 有许多特点,使其从其他库中脱颖而出。 加载、读取和编辑数据。 使用 IronXL,我们可以从电子表格文档(如 XLS、XLSX、XLST、XLSM、CSV和 TSV)中加载、读取和编辑数据。IronXL 提供了非常简单易记的函数来创建、读取和编辑这些电子表格文档。 它提供了对文档的完全控制。 创建图表。 IronXL.Excel 功能繁多,可创建带有自定义图表的电子表格。 它具有良好的 API 文档支持。 保存和导出。 IronXL 非常适合保存和导出多种格式的文档。 IronXL.Excel 提供将 Excel 文件导出或转换为 XLS、XLSX、XLST、XLSM、CSV、TSV 和 JSON 文件格式的功能。 使用公式。 IronXL 支持 在 Excel 文件中使用公式。 我们可以根据需要创建任何公式并将其应用到任何单元格中。 IronXL.Excel 具有出色而简单的功能,可以帮助我们处理公式。 单元格数据格式。 Excel 用户经常需要在 Excel 单元格中使用格式。 IronXL.Excel 支持高级 条件格式化功能。 IronXL 可以帮助您使用简单易用的功能格式化单元格数据。 IronXL 支持 Microsoft Excel 支持的所有格式。 您可以使用这些格式对数据进行格式化: 文本 译文数量 公式 日期 货币 百分比 科学 翻译时间 自定义格式 单元格样式 单元格样式是 Microsoft Excel 的一项重要功能,有助于区分重要数据。 它非常有用,IronXL 也支持这一功能。 您可以使用 IronXL.Excel 函数更改字体样式、字体大小、背景图案、边框和对齐方式。 Syncfusion Excel Syncfusion 库为读取、写入和操作 Microsoft Excel (XLS) 文件提供了一个 API。 Syncfusion 库是一个 C# 库,开发人员可以用它来创建自己的应用程序,以读取、写入和操作 Microsoft Excel (XLS) 文件。 还支持自定义数据导入。 它兼容所有支持 C# 编程语言的操作系统。 Syncfusion Excel 的功能 让我们来看看 Syncfusion Excel 库的功能: 从零开始创建 Excel 文档。 修改现有 Excel 文档。 导入和导出数据。 支持 Excel 公式。 支持创建和操作表格、透视表和透视图。 使用 模板标记符号填写数据。 让我们来看看这些库是如何工作的。 为了检查各种功能,我们需要先创建一个 C# 项目。那么,让我们开始吧。 1.创建 C# 项目 本教程将使用 Visual Studio 2019 版本(建议使用最新版本)和 C# 编程语言来构建一个项目。 打开 Visual Studio 2019。 单击 "创建 "创建新项目。 从模板中选择 C# 控制台应用程序,然后单击 Next 按钮。 控制台应用程序 为项目命名,然后单击 "下一步 "按钮。 !项目配置。 项目配置 选择 .NET 目标框架 >= 3.1,因为 3.1 支持并适用于所有设备。最新、最稳定的 .NET Framework 版本是 5.0。单击 Create 按钮。 它将创建一个 C# 控制台应用程序。 !a href="/static-assets/pdf/blog/syncfusion-excel-alternatives/syncfusion-excel-alternatives-3.webp">.NET Target Framework .NET目标框架 您也可以使用现有的 C# 项目。 只需打开项目并安装库即可。 我们将在下一节了解如何安装 Excel 库。 2.安装 IronXL 库 下载和安装 IronXL 库有多种方式。 具体如下 1.软件包管理器控制台 2.使用 NuGet 软件包管理器 2.1软件包管理器控制台 我们可以使用软件包管理器控制台安装 IronXL 库。 请按照以下步骤安装: 打开软件包管理器控制台。 它通常位于 Visual Studio 的底部。 !软件包管理器控制台 软件包管理器控制台。 键入以下命令并按 Enter。 Install-Package IronXL Install-Package IronXL SHELL 它将开始安装 IronXL 库。 !a href="/static-assets/pdf/blog/syncfusion-excel-alternatives/syncfusion-excel-alternatives-5.webp">IronXL 安装。 IronXL 安装 安装完成后,我们就可以在项目中使用它了。 2.2 使用 NuGet 包管理器进行安装 我们可以直接从 NuGet 包管理器中安装 IronXL 库。 请按照以下步骤安装 IronXL: 点击菜单栏中的 "工具",然后将鼠标悬停在 NuGet 包管理器上。 !a href="/static-assets/pdf/blog/syncfusion-excel-alternatives/syncfusion-excel-alternatives-6.webp">NuGet 软件包管理器。 NuGet 软件包管理器 为解决方案选择管理 NuGet 软件包。 点击 Browse 并在搜索栏中输入 IronXL。 它将在搜索结果中显示 IronXL 库。 管理 NuGet 软件包 单击 IronXL.Excel 并单击 Install 按钮。 它会自动安装库。 3.安装 Syncfusion Excel 库 我们可以使用软件包管理器控制台安装 Syncfusion Excel 库。 与 IronXL 不同的是,我们需要针对不同的项目(如 Windows Forms、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 文档 3. 阅读 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 不需要在服务器或 Interop 上安装 Excel。IronXL 提供了比 Microsoft.Office.Interop.Excel更快、更直观的 API。 我们已经知道,我们需要先导入 IronXL 库,然后编写代码来创建 Excel 文件。 以下代码用于在 IronXL.Excel 中创建 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 Output: !a href="/static-assets/pdf/blog/syncfusion-excel-alternatives/syncfusion-excel-alternatives-8.webp">IronXL 输出。 IronXL 输出 我们可以设置 Excel 文件的元数据。 通过简单易用的功能,可以非常轻松地为单元格设置值和格式化单元格。 我们使用 Style.BottomBorder.SetColor 函数来设置单元格底部边框的颜色。 5.2 Syncfusion Excel 以下代码演示了如何使用 Syncfusion Excel 创建一个新的 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 上述代码创建了一个新的 IWorkbook 对象,然后使用 Workbooks.Create() 函数在工作簿中创建了一个工作表。 它通过 "cells "属性访问 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") $vbLabelText $csharpLabel 在上面的代码中,我们可以看到,只需一行代码,我们就可以非常轻松地导出 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) $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 ProtectSheet() 函数使用户能够加密 Excel 文件。要解除对工作表的保护,我们可以在加载 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 $vbLabelText $csharpLabel 我们使用 Protect() 函数对 Excel 文件进行加密。如果只需要保护工作表,或者还需要保护 Excel 文件的内容,我们需要向函数传递三个参数。第三个参数将是您要设置的密码。 8. 许可证 8.1 IronXL IronXL 对开发完全免费。 您可以尝试它的每一个开发环节。 但是,免费开发版本中会有水印。 您也可以在生产中免费试用。 您可以激活免费试用版,无需支付任何费用即可用于生产。 如果您选择购买 IronXL,价格方案如下: Lite 版 如果您是单个开发人员,希望在项目中使用 IronXL,可以选择 Lite 版。 这将是您的最佳选择。 IronXL Lite 专业版 如果您的公司在全球有多个分支机构,最好选择专业版。 本版本一次支持 10 个地点、10 名开发人员和 10 个项目。 IronXL 专业版 无限版 此定价方案支持无限量开发人员、无限量地点和无限量项目,只需一次付款即可终身使用。 如果您希望在许多项目中使用 IronXL,它是最佳选择。 IronXL无限版 IronXL 还支持版税分销,同时还为您提供产品支持和更新。 !a href="/static-assets/pdf/blog/syncfusion-excel-alternatives/syncfusion-excel-alternatives-12.webp">Royalty Distribution 版权分配 IronXL 的许可页面包含有关定价和使用权的更多详细信息。 8.2 Syncfusion Excel 库 Syncfusion Excel 库还提供免费试用。 如果您想购买 Syncfusion Excel,那么您可以以 $395 的价格购买,一个团队最多可有五名开发人员。 Syncfusion 为10 名或更多开发人员的团队提供额外的 License,并为单个项目或整个公司提供特殊的Unlimited License。 !a href="/static-assets/pdf/blog/syncfusion-excel-alternatives/syncfusion-excel-alternatives-13.webp">Syncfusion Syncfusion 9. 结论 这两个库都提供了有效的功能。 但是,如果从大处着眼,IronXL 更方便、更易用。 它的功能小巧易记。 在 IronXL 的帮助下,您可以用一行代码完成大量编辑和格式化工作。 代码的流程比较复杂,但初学者很容易理解。 您无需了解 IronXL 的知识或工作原理。 无需为不同平台安装单独的库。 只需安装一次,您就可以完成所有操作。 如上所述,Syncfusion Excel 具有许多功能。 在 Syncfusion Excel 的帮助下,我们可以进行多种格式化和转换。 我们可以创建新的 Excel 文档、修改已有的 Excel 文件、进行多种格式化和加密。 我们必须安装一个单独的库来执行转换。 IronXL 提供多种定价计划。 您可以购买最适合自己需求的计划。 例如,如果您是唯一的开发人员,需要 IronXL 用于某个项目的商业用途,您只需一次性付款就可以激活它,这比 Syncfusion 要求您仅为一个开发人员和一个项目购买一年的库要低得多,只需几百美元。 因此,与 Syncfusion Excel 框架相比,IronXL 要便宜得多,而且能提供更好的选择。 总之,IronXL 是比 Syncfusion Excel 框架更好的选择。 正如我们在以上段落中所看到的,由于 IronXL 功能简单,使用起来非常方便,我们只需一行代码就可以完成许多格式化。 但是,在 Syncfusion Excel 框架中,我们需要编写多行代码来定义许多项目,而这些项目在后端 IronXL.Excel 中已经定义,用户无需再花时间定义多个参数和变量。 此外,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需要购买许可证,价格基于开发人员和项目的数量。 与Syncfusion Excel相比,IronXL对初学者有哪些优越之处? 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 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 18, 2025 使用互操作比较在 C# 中创建 Excel 文件:IronXL 和替代库 发现对创建电子表格 Excel Interop 的最佳替代方案。比较顶级 Excel 库的功能、授权和代码示例。 阅读更多 已更新六月 22, 2025 C# 开发人员使用 IronXL 的 Zip 存档教程 在本教程中,我们将探讨如何在C#中创建ZIP文件、从压缩文件中提取数据以及操作ZIP档案,使用相对路径。 阅读更多 已更新七月 28, 2025 比较三个开源 C# Excel 库 本文将探讨三个 C# 开源 Excel 库,旨在简化 .NET 环境中的 Excel 文件操作 阅读更多 IronXL 和 GrapeCity Excel 查看器的比较IronXL 和 Spire XLS 的比较
已发布十二月 18, 2025 使用互操作比较在 C# 中创建 Excel 文件:IronXL 和替代库 发现对创建电子表格 Excel Interop 的最佳替代方案。比较顶级 Excel 库的功能、授权和代码示例。 阅读更多