与其他组件比较

IronXL和FastExcel for .NET的比较

发布 2023年五月8日
分享:

在与 用 C# 编写 Excel 文档这两个库都提供了一系列工具和功能,可以帮助开发人员操作和管理 Excel 工作簿。这两款软件各自都很出色,但出色还不够。我们将对这两款软件各自提供的功能进行评估,以确定哪款软件最适合您的需求。在本文中,我们将对 IronXL 和 FastExcel v4 进行比较,强调每个库的优缺点,并提供如何在 C# 中使用这两个库的示例。

如何使用 C# 读取 Excel 数据并将其插入数据库表:图 1 - FastExcel V4 检查工作簿

FastExcel v4

FastExcel v4 是一系列多线程 C# 库,为管理 Excel 工作簿提供工具。最新版本的 FastExcel v4 引入了一些新功能,如简化定义名称管理的表单管理器 Pro 和有助于减少工作簿臃肿的 FastExcel SpeedTools。

有了 FastExcel v4,开发人员可以根据自己的需要选择自动或手动计算方法。该库提供了大量用于操作工作表和工作簿的工具,包括支持无限制的公式和计算。

FastExcel v4 的主要优势之一是速度快。即使在处理大型或复杂的工作簿时,该库也能高效运行。它包括多线程计算,可显著加快计算过程,并提供管理内存使用和优化性能的工具。

FastExcel v4:功能集

  • 读写 XLSX 格式的 Excel 文件
  • 使用 LINQ 从 Excel 文件读取数据
  • 支持数据验证和错误处理
  • 用于读写 Excel 文件的高性能流式 API
  • 支持多线程,可更快地处理大型 Excel 文件
  • 与 .NET Framework 和 .NET Core 兼容
  • 与 LINQ、Entity Framework 和 Apache Spark 等流行库集成

IronXL

IronXL 是一个 强大的 C# 库 它使开发人员能够以编程方式操作和创建 Excel 文件。它提供熟悉的 C# 语法和方法来读取、写入和修改 Excel 文件,无需任何外部依赖或额外的软件安装。

有了 IronXL,开发人员可以使用各种功能和工具来简化 Excel 文件的处理。这包括支持各种 Excel 文件格式、操作工作表和表格的能力,以及管理定义名称、数字格式等的工具。该库还支持自动和手动计算模式,以及多线程 Excel 计算,以优化性能。

使用 IronXL,开发人员可以毫不费力地创建新的 Excel 工作簿,为现有工作簿添加数据,并使用 C# 代码操作 Excel 公式和计算。该库还包括强大的调试工具和功能,如公式资源管理器和表单管理器,有助于排除故障和优化 Excel 代码。

IronXL 功能集

  • 从 XLS、XLSX、CSV 和 TSV 等各种文件格式加载、读取和编辑数据。
  • 以不同的文件格式导出和保存数据,包括 XLS、XLSX、CSV、TSV 和 JSON。
  • 利用 "System.Data "对象,用户可将 Excel "WorkBook "电子表格作为 "System.Data.DataSet "和 "System.Data.DataTable "对象使用。
  • 支持 Excel 公式,每次编辑工作表时都会重新计算。
  • 允许用户使用其易于使用的 WorkSheet 语法直观地创建和组合范围。
  • 提供排序和筛选范围、列和行的功能。
  • 让用户可以根据自己的偏好设置单元格样式,包括视觉样式、字体、大小、背景图案、边框、对齐方式和数字格式。

使用 FastExcel v4 操作 Excel 文档

要开始使用 FastExcel v4,您需要从官方网站下载最新版本。在购买完全授权版本之前,您可以使用试用版对程序库进行评估。安装 FastExcel v4 后,就可以开始使用其工具来帮助管理 Excel 文件了。

如何用 C# 读取 Excel 数据并插入到数据库表中:图 2 - ClosedXML NuGet 安装

操作 Excel 文件

FastExcel v4 提供了一系列用 C# 操作 Excel 文件的工具。您可以使用 FastExcel v4 打开和保存 Excel 工作簿、操作工作表、管理定义的名称等。下面是一些如何使用 FastExcel v4 处理 Excel 文件的示例:

打开和保存 Excel 工作簿

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    // Do some work on the workbook here
    workbook.Save();
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    // Do some work on the workbook here
    workbook.Save();
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	' Do some work on the workbook here
	workbook.Save()
End Using
VB   C#

操作工作表

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets ["Sheet1"];
    // Do some work on the worksheet here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets ["Sheet1"];
    // Do some work on the worksheet here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Dim worksheet = workbook.Worksheets ("Sheet1")
	' Do some work on the worksheet here
End Using
VB   C#

管理已定义的名称


    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var definedNames = workbook.DefinedNames;
        // Do some work on the defined names here
    }

    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var definedNames = workbook.DefinedNames;
        // Do some work on the defined names here
    }
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
		Dim definedNames = workbook.DefinedNames
		' Do some work on the defined names here
End Using
VB   C#

优化计算

FastExcel v4 最显著的优势之一是能够优化 Excel 工作簿中的计算。随着工作簿的大小和复杂程度的增加,Excel 计算会成为瓶颈。FastExcel v4 提供的工具可帮助您优化计算并提高性能。

如何使用 C# 读取 Excel 数据并将其插入数据库表:图 3 - 购买 FastExcel V3 - 帮助您更快地运行 Excel - 决策模型

自动和手动计算

默认情况下,Excel 工作簿使用自动计算,这意味着只要单元格发生变化,Excel 就会重新计算公式。这可能会很耗时,尤其是在大型工作簿中。FastExcel v4 允许您在自动计算和手动计算之间切换,这可以显著提高性能。下面是一个如何切换到手动计算的示例:

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.CalculationMode = CalculationMode.Manual;
    // Do some work on the workbook here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.CalculationMode = CalculationMode.Manual;
    // Do some work on the workbook here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	workbook.CalculationMode = CalculationMode.Manual
	' Do some work on the workbook here
End Using
VB   C#

阵列计算瓶颈

数组计算也可能成为 Excel 工作簿的瓶颈。FastExcel v4 提供的工具可帮助您优化数组计算并提高性能。下面举例说明如何使用 FastExcel v4 优化数组计算:

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
    // Do some work on the workbook here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
    // Do some work on the workbook here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas
	' Do some work on the workbook here
End Using
VB   C#

如何在 C# 中读取 Excel 数据并将其插入数据库表:图 4 - 优化数组计算

FastExcel Profiler

FastExcel Profiler 是优化 Excel 计算的重要工具。FastExcel Profiler 提供有关计算问题、过多臃肿和其他可能影响 Excel 工作簿性能的问题的详细信息。下面是一个如何使用 FastExcel Profiler 优化计算的示例:


using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var profiler = new FastExcelProfiler(workbook))
    {
        // Do some work on the workbook here
        profiler.DisplayReport();
    }
}

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var profiler = new FastExcelProfiler(workbook))
    {
        // Do some work on the workbook here
        profiler.DisplayReport();
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using profiler = New FastExcelProfiler(workbook)
		' Do some work on the workbook here
		profiler.DisplayReport()
	End Using
End Using
VB   C#

表单管理器专业版

FastExcel TableSheet Manager Pro 是 FastExcel v4 系列中另一款功能强大的工具。它提供的工具可帮助您管理 Excel 工作簿中的表格。通过表单管理器 Pro,您可以在单个工作表中轻松管理数量不限的表格,从而大大减少多余的臃肿并提高性能。下面举例说明如何使用 Tables Sheet Manager Pro:


using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var manager = new TableSheetManagerPro(workbook))
    {
        // Do some work on the tables here
    }
}

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var manager = new TableSheetManagerPro(workbook))
    {
        // Do some work on the tables here
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using manager = New TableSheetManagerPro(workbook)
		' Do some work on the tables here
	End Using
End Using
VB   C#

号码格式

FastExcel v4 还提供了帮助您管理 Excel 工作簿中数字格式的工具。您可以使用 FastExcel v4 对工作簿中的单元格、列和行应用数字格式。下面是一个如何使用 FastExcel v4 应用数字格式的示例:


    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var worksheet = workbook.Worksheets ["Sheet1"];
        var column = worksheet.Columns ["A"];
        column.Style.NumberFormat = "#,##0.00";
    }

    using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
    {
        var worksheet = workbook.Worksheets ["Sheet1"];
        var column = worksheet.Columns ["A"];
        column.Style.NumberFormat = "#,##0.00";
    }
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
		Dim worksheet = workbook.Worksheets ("Sheet1")
		Dim column = worksheet.Columns ("A")
		column.Style.NumberFormat = "#,##0.00"
End Using
VB   C#

公式探索者

FastExcel v4 提供了一个公式资源管理器工具,可让您查看 Excel 工作簿中的公式。公式资源管理器可帮助您排除公式错误并优化计算。下面举例说明如何使用公式资源管理器:


using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var explorer = new FormulaExplorer(workbook))
    {
        // Do some work on the formulas here
    }
}

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var explorer = new FormulaExplorer(workbook))
    {
        // Do some work on the formulas here
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using explorer = New FormulaExplorer(workbook)
		' Do some work on the formulas here
	End Using
End Using
VB   C#

使用 IronXL 操作 Excel 文档

开始使用 IronXL要安装 IronXL,您需要安装 IronXL 软件包。你可以通过 NuGet 软件包管理器或从 IronXL 网站下载软件包来安装。安装完软件包后,就可以开始在 C# 项目中使用 IronXL 了。

打开和保存工作簿要使用 IronXL 打开 Excel 工作簿,可以使用以下代码:

WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
Dim workbook As WorkBook = WorkBook.Load("C:\Test\MyWorkbook.xlsx")
VB   C#

这将打开位于指定路径下的工作簿。您还可以使用以下代码创建新工作簿:

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

要使用 IronXL 保存工作簿,可以使用以下代码:

workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
VB   C#

这将把工作簿保存到指定路径。

如何用 C# 读取 Excel 数据并插入数据库表:图 5 - 保存工作簿

操作 Excel 工作表

要使用 IronXL 操作工作簿中的工作表,可以使用以下代码:

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

这将从工作簿中获取名为 "Sheet1 "的工作表。然后,您可以根据需要对工作表进行操作。

管理已定义的名称

IronXL 提供了帮助你管理 Excel 工作簿中已定义名称的工具。您可以使用以下代码创建定义名称:

worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
VB   C#

这将创建一个名为 MyRange 的定义名称,指的是工作表中的范围 A1:B10。

如何使用 C# 读取 Excel 数据并将其插入数据库表:图 6 - CSVList

应用编号格式

要使用 IronXL 对单元格或单元格区域应用数字格式,可以使用以下代码:

worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ("A1").Style.NumberFormat.Format = "#,##0.00"
VB   C#

这将在工作表的单元格 A1 中应用数字格式 "#,##0.00"。

优化计算

IronXL 提供的工具可以帮助你优化 Excel 工作簿中的计算。要优化计算,可以使用以下代码:

workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
VB   C#

这将关闭工作簿中的自动计算功能。然后,您可以使用以下代码手动计算工作簿:

workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
VB   C#

这将计算工作簿中的所有公式。

如何在 C# 中读取 Excel 数据并将其插入数据库表:图 7 - 计算所有公式

比较

FastExcel 和 IronXL 都是使用 C# 语言操作 Excel 文件的强大库。虽然这两个库都提供了类似的功能,但它们之间还是有一些关键的区别。

FastExcel 是一个专注于提高 Excel 计算性能的库,尤其是在处理大型数据集时。它提供自动和手动计算、针对数组计算瓶颈的优化以及开放式计算方法等功能。FastExcel 还提供 FastExcel Profiler 和 FastExcel SpeedTools 等工具,帮助管理和优化 Excel 工作簿。

另一方面,IronXL 是一个注重易用性和灵活性的库。它提供了多种工具,帮助开发人员在 C# 代码中处理 Excel 文件。其中一些工具包括管理定义名称、处理无限数量的工作表以及轻松管理数字格式的能力。IronXL 还支持多线程 Excel 计算,是处理大型数据集的最佳选择。

虽然 FastExcel 和 IronXL 都是用 C# 处理 Excel 文件的强大库,但 IronXL 有一些优势,使其成为许多开发人员的首选。首先,IronXL 拥有更直观的 API,使其更容易使用和学习。其次,IronXL 的价格比 FastExcel 更实惠,因此是预算有限的小型项目或团队的更好选择。

此外,与 FastExcel 相比,IronXL 是一个更轻量级的库。它不像 FastExcel 那样过于臃肿,会降低性能并增加管理大型 Excel 工作簿的难度。

虽然 FastExcel 和 IronXL 都是能用 C# 处理 Excel 文件的库,但 IronXL 因其易用性、经济性和轻便性而成为首选。

结论

总之,在对 FastExcel 和 IronXL 进行比较时,很明显这两个库都为使用 C# 代码处理 Excel 文件提供了一系列强大的工具和功能。不过,这两个库之间存在一些关键差异,这使得 IronXL 成为许多开发人员的首选。

从技术角度看,IronXL 提供了更直观和用户友好的 API,使各种技能水平的开发人员都能更容易地学习和使用。IronXL 还提供了一个轻量级库,没有过多的臃肿,不会降低性能,也不会增加管理大型 Excel 工作簿的难度。相比之下,FastExcel 更注重提高 Excel 的计算性能,但与 IronXL 相比可能更加复杂和难以使用。

此外,与FastExcel相比,IronXL提供了更经济实惠的许可模式,使其成为预算有限的小型项目或团队的更好选择。通过 IronXL 的完全许可版本,开发人员可以使用所有功能和工具,而无需支付任何额外费用或受到任何限制。

总体而言,IronXL 是注重易用性、经济性和轻量级性能的开发人员的首选。IronXL 拥有强大的工具和功能,包括多线程 Excel 计算和对无限数量工作表的支持,对于任何使用 C# 代码处理 Excel 文件的开发人员来说,IronXL 都是一款不可多得的工具。

对于有意购买 IronXL 的用户,Iron Software 提供以下服务 特价 在该活动中,客户可以用两个产品的价格购买所有五个 Iron 软件产品。这包括 IronXL 以及其他功能强大的库,用于处理 PDF 文件、OCR 等。这笔交易为需要一系列工具支持其项目的开发人员提供了非凡的价值。

*下载 软件产品。

< 前一页
EPPlus将Excel读取到DataTable的C# (IronXL教程)
下一步 >
IronXL与ClosedXML的比较

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

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