使用IRONXL

如何在 .NET Core 中导出到 CSV

更新 2024年八月23日
分享:

1.0 简介

最著名的库之一, 铁XL本文将使用.NET 技术与 Microsoft Excel 文档编程接口的不同方式进行对比。它还将构建一个读写 Excel 电子表格并将其导出为 CSV 文件的环境。

2.0 IronXL

IronXL IronXL for .NET是一个C# Excel库,可用于读取Microsoft Excel文档并将其转换为CSV文件。IronXL是一个独立的.NET软件库,无需安装Microsoft Office或 "Microsoft.Office.Interop.Excel "即可使用。它可以读取多种电子表格格式。

得益于 IronXL 直接的 C# API,Excel 电子表格可以在.NET 环境中轻松读取、编辑和生成。IronXL完全支持Xamarin、Linux、macOS、Azure、.NET Core和.NET Framework。

2.1 IronXL 库功能

  • IronXL 是最出色的 C# Excel 电子表格库之一,兼容 .NET Core 和 .NET Framework。
  • IronXL 支持几乎所有的 .NET 框架,包括控制台应用程序、Windows 窗体和 Web 应用程序。
  • IronXL 兼容 Windows、macOS 和 Linux。
  • 使用 IronXL 可以快速轻松地访问 Excel 文件。
  • IronXL 可以读取的 Excel 文件格式包括 XLSX、CSV、XLS、XSLT、TSV、XLSM 等。它提供了丰富的功能来进行导入、更新等操作。 导出数据集和数据表.
  • 计算 用IronXL生成Excel电子表格。
  • 对于Excel列,IronXL支持 多种数据类型如文本、整数、日期、货币、公式和百分比。
  • 日期、货币、百分比、文本、数字、公式和 其他 Excel 列数据类型 都由IronXL支持。

3.0 创建 .NET Core 6 项目

在本简讯的后续章节中,您将看到使用 IronXL 库创建 CSV 文件是多么容易。

第 1 步:启动一个新项目,生成 CSV 文件。

打开 Visual Studio 然后从“文件”菜单中选择“新建项目”。

从接下来的对话框中选择“控制台应用程序” .NET 项目模板,然后点击“下一步”。

如何在 .NET Core 中导出到 CSV,图 1:在 Visual Studio 中创建一个新的控制台应用程序

在 Visual Studio 中创建一个新的控制台应用程序

您可以为“项目名称”输入任何名称。一旦在“位置”部分提供了新项目的位置,点击 下一步 按钮继续。

如何在 .NET Core 中导出到 CSV,图 2:配置新项目

配置新项目

可以使用框架下拉菜单选择.NET框架。在这种情况下,长期支持版本的.NET是6.0。接下来,点击创建按钮。

如何在 .NET Core 中导出到 CSV,图 3:.NET 目标框架选择

.NET 目标框架选择

安装 IronXL 库,因为这是后续解决方案所必需的。 在包管理器控制台中输入以下命令来完成此操作:

Install-Package IronXL.Excel

如何在 .NET Core 中导出为 CSV,第4步:安装 IronXL 包

安装IronXL包

另一种方法是使用NuGet包管理器搜索包"IronXL"。在浏览标签中,在搜索框中输入"IronXL"来搜索IronXL库。从这个与IronXL相关的所有NuGet包列表中,选择需要的包进行下载。

如何在.NET Core中导出到CSV,第五步:在NuGet包管理器UI中搜索并安装IronXL包

在 NuGet 软件包管理器用户界面中搜索并安装 IronXL 软件包

4.0 将数据导出到CSV文件

使用IronXL,创建数据表到CSV文件是简单而快捷的。它便于将数据写入新的CSV文件。第一步是引入IronXL命名空间,如下面的代码截图所示。一旦引入IronXL,就可以在代码中使用其类和方法。

如何在 .NET Core 中导出到 CSV,图 6:包括 IronXL 命名空间

包含 IronXL 命名空间

IronXL 可用于创建Excel文件,随后转换成 工作簿 将对象从 WorkBook 类转换为对象后,可以通过多种方式处理它们。通过将 DataTable 转换为 Excel 工作表,下面的示例源代码创建了一个 Excel 文件。

using IronXL;
using System.Data;

static void main(String [] arg)
{
    ExportToExcel("test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animals", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Leopard");
    table.Rows.Add("Cheetah");
    table.Rows.Add("Hyenas");

    var workbook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workbook.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    workbook.SaveAsCsv(filepath, ";");
    //or 
    var stream = workbook.ToStream();
}
using IronXL;
using System.Data;

static void main(String [] arg)
{
    ExportToExcel("test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animals", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Leopard");
    table.Rows.Add("Cheetah");
    table.Rows.Add("Hyenas");

    var workbook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workbook.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    workbook.SaveAsCsv(filepath, ";");
    //or 
    var stream = workbook.ToStream();
}
Imports IronXL
Imports System.Data

Shared Sub main(ByVal arg() As String)
	ExportToExcel("test.csv")
End Sub

Public Shared Sub ExportToExcel(ByVal filepath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animals", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Leopard")
	table.Rows.Add("Cheetah")
	table.Rows.Add("Hyenas")

	Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workbook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		writer("A" & (rowCount)).Value = row(0).ToString()
		rowCount += 1
	Next row
	workbook.SaveAsCsv(filepath, ";")
	'or 
	Dim stream = workbook.ToStream()
End Sub
VB   C#

上述 CSV 示例展示了如何将 DataTable 导出到 CSV 文件中。在创建了 DataTable 后,即创建了列标题并建立了第一列后,便可以逐行添加行。在将行和列添加到 DataTable 对象后,构造 WorkBook 对象。WorkBook 对象可用于将数据添加到 Excel 表中,然后可以将其保存在其他地方。下一步是启动 工作表 对象,链接到工作簿对象。

在将值添加到工作表之前,使用 foreach 循环从 DataTable 中读取每个值。 保存为 Csv 函数被用来将数据保存到一个 CSV 文件中,一旦所有数据都被放入工作表中,使用文件名作为参数。分隔符可以作为一个可选参数使用,如果不需要的话。该库随后帮助将数据写入 CSV 文件。除了使用 Microsoft Excel 之外,还有另一种方法可以使用记事本读取 CSV 文件。此外,该方法 保存 用于将相同内容保存为给定的文件格式。

如何在 .NET Core 中导出到 CSV,示例 7: 输出的 Excel 文件 test.csv

输出 Excel 文件 test.csv

以上是运行代码示例的输出。数据表中的每条信息都已分别添加到截图中新创建的 Excel 表中。或者,它也可以作为 Web 应用程序的一部分转换为流,以返回可以从客户端下载的文件。

有关从 DataTable 导出数据到 Excel 的更多信息,请查看此文档 教程 页面。

要了解更多关于如何将数据导出到 Excel 的信息,请参阅此处。 分步教程.

5.0 结论

IronXL 是最广泛使用的Excel工具之一。它不依赖任何其他外部库。它是自包含的,不需要安装Microsoft Excel。此外,它通过多种渠道运行。

对于所有程序实现的Microsoft Excel文档相关操作, IronXL 提供了一个全面的解决方案。计算公式、排序字符串或数字、修剪、附加、查找和替换。 合并与分离保存文件和其他操作都是可能的。除了验证电子表格数据之外,您还可以建立单元格数据类型。它有助于处理Excel数据,并允许您读取和写入文件。

IronXL提供了一种 免费试用 许可证允许用户免费试用和测试其所有出色的功能。

在发布时,IronXL 以 $749 的价格提供。用户还可以选择支付一年的订阅费用以接收更新和产品支持。IronXL 提供无限制再分发的安全保护,需额外付费。如需查找更精确的定价信息,请访问 IronXL 的网站。 许可证页面.

< 前一页
如何在C#中加载Excel文件
下一步 >
C# CSV库(开发者教程)

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

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