跳至页脚内容
与其他组件比较

IronXL 和 FastExcel 的比较 - .NET

在使用 C# 中的 Excel 文档时,有两个最受欢迎的库,它们是 Iron Suite 捆绑包中的解决方案 IronXL 和 FastExcel v4。 这两个库都提供了一系列工具和功能,可以帮助开发人员操作和管理 Excel 工作簿。 这两款软件各自都很出色,但出色还不够。 我们将对每种工具提供的功能进行评估,以确定哪一种最符合您的需求。 在本文中,我们将对 IronXL 和 FastExcel v4 进行比较,强调每个库的优缺点,并举例说明如何在 C# 中使用这两个库。

!a href="/static-assets/excel/blog/fastexcel-net-alternatives/fastexcel-net-alternatives-1.webp">How to Read Excel Data and Insert to Database Table in C#:图 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 文件格式、操作工作表和表格的能力以及管理定义名称、数字格式等的工具。 该库还支持自动和手动计算模式,以及多线程 Excel 计算,以优化性能。

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

IronXL功能集

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

使用 FastExcel v4 处理 Excel 文档

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

How to Read Excel Data and Insert to Database Table in C#:图 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
$vbLabelText   $csharpLabel

操作工作表

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

管理定义名称

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

优化计算

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

How to Read Excel Data and Insert to Database Table in C#:图 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
$vbLabelText   $csharpLabel

数组计算瓶颈

数组计算也可能成为 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
$vbLabelText   $csharpLabel

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

FastExcel 剖析器

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

表单管理器专业版

FastExcel TableSheet Manager Pro 是 FastExcel v4 系列中另一个功能强大的工具。 它提供的工具可帮助您管理 Excel 工作簿中的表格。 Tables Sheet Manager 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
$vbLabelText   $csharpLabel

数字格式

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

公式资源管理器

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

使用 IronXL.Excel 操作 Excel 文档。

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

打开和保存工作簿:要使用 IronXL.Excel 打开 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")
$vbLabelText   $csharpLabel

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

WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.Xlsx)
$vbLabelText   $csharpLabel

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

workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
$vbLabelText   $csharpLabel

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

How to Read Excel Data and Insert to Database Table in C#:图 5 - 保存工作簿

操作 Excel 工作表

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

WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
$vbLabelText   $csharpLabel

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

管理定义名称

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

worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
$vbLabelText   $csharpLabel

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

!a href="/static-assets/excel/blog/fastexcel-net-alternatives/fastexcel-net-alternatives-6.webp">How to Read Excel Data and Insert to Database Table in C#:图 6 - CSVList

应用数字格式

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

worksheet["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet("A1").Style.NumberFormat.Format = "#,##0.00"
$vbLabelText   $csharpLabel

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

优化计算

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

workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
$vbLabelText   $csharpLabel

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

workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
$vbLabelText   $csharpLabel

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

!a href="/static-assets/excel/blog/fastexcel-net-alternatives/fastexcel-net-alternatives-7.webp">How to Read Excel Data and Insert to Database Table in C#:图 7 - 计算所有公式

比较

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

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

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

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

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

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

结论

总之,在比较 FastExcel 和 IronXL 时,可以明显看出这两个库都为使用 C# 代码操作 Excel 文件提供了一系列强大的工具和功能。 然而,这两个库之间存在一些关键差异,使得 IronXL 成为许多开发人员的首选。

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

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

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

对于有兴趣购买 IronXL 的用户,Iron Software 提供[特别优惠](Iron Suite),客户可以用购买两套产品的价格购买全部五套 Iron Software 产品。 这包括 IronXL 以及其他功能强大的库,用于处理 PDF 文件、OCR 等。 这笔交易为需要一系列工具支持其项目的开发人员提供了非凡的价值。

下载软件产品

请注意FastExcel v4 是其各自所有者的注册商标。 本网站与 FastExcel v4 无关,也未经其认可或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。

常见问题解答

IronXL 的主要特性是什么?

IronXL 提供多线程计算、支持多种 Excel 文件格式(如 XLS、XLSX、CSV 和 TSV),以及用于管理工作表、公式和数字格式的工具,无需外部依赖。

如何使用 C# 库优化 Excel 计算?

您可以通过利用 IronXL 的多线程计算功能来优化 Excel 计算,从而在处理复杂或大型数据集时提高性能和效率。

我可以使用这个库管理 Excel 公式吗?

可以,IronXL 支持管理 Excel 公式,允许在每次编辑时重新计算。它包括一些工具,如公式浏览器,用于排除故障和优化计算。

IronXL 如何支持不同的 Excel 文件格式?

IronXL 能够加载、读取和编辑多种格式的数据,如 XLS、XLSX、CSV 和 TSV。它还允许将数据导出为 JSON 等格式,提供在处理各种数据格式时的灵活性。

IronXL 适合预算有限的开发者吗?

是的,IronXL 以其实惠闻名,使其成为预算有限的开发者的合适选择。它提供全面的功能集而没有多余的臃肿,确保物有所值。

IronXL 需要安装任何外部软件吗?

没有,IronXL 可以独立运行,无需任何外部依赖或额外的软件安装,使其对开发者来说是一个方便的选择。

是什么让 IronXL 成为用户友好的 Excel 操作库?

IronXL 因其直观的语法和轻量级的特点而受到赞誉,使其对所有技能水平的开发者都很容易上手。它为 C# 中的 Excel 文件操作提供了简单直观的解决方案。

购买 IronXL 时有特别优惠吗?

有,Iron Software 提供一个特殊优惠,客户可以用购买两件产品的价格购买他们的全部五件产品,包括 IronXL,为需要多个工具的开发者提供了极大的价值。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。