使用IRONXL

如何在C#中将数据表导出为CSV

更新 2024年二月20日
分享:

简介

IronXL 是一种流行的库,它允许开发人员在 C# .NET 技术中与 Microsoft Excel 文档(包括 CSV 文件)进行交互,而无需安装 Microsoft Excel。它能自动将注册类型转换为 CSV 文件,并编写具有自定义结构的 CSV 文件。

IronXL 图书馆功能

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

借助 IronXL 用户友好的 C# API,您可以在 .NET 环境中快速读取、修改和创建 Excel 电子表格文件。IronXL 完全支持 .NET Core、.NET Framework、Xamarin、Mobile、Linux、macOS 和 Azure。

  • 领先的 .NET Core 和 .NET Framework Excel 电子表格库包括 IronXL。
  • IronXL 支持几乎所有的 .NET 框架,包括控制台、Windows 窗体和 Web。
  • IronXL 可在多种操作系统上运行,包括 Windows、Linux 和 macOS。
  • IronXL 可让您简单快捷地 读取 Excel 文件.
  • IronXL 支持读取不同的 Excel 文件格式,包括 XLSX 文件、XLS、CSV、TSV、XLST、XLSM 文件等。我们还可以加载、修改、删除和重命名 Excel 文件、 导出数据表导出数据集等。
  • IronXL 可以导出和保存各种后缀的文件,包括 XLS、CSV、TSV、JSON 等。
  • IronXL 可以生成 Excel 计算.
  • IronXL 支持多种 Excel 列数据格式包括文本、数字、公式、日期、货币和百分比。

更多详情,请访问 这里.

1.在 Visual Studio 中创建新项目

在 Visual Studio 中,必须先创建一个 .NET 项目,然后才能使用 IronXL 框架。任何版本的 Visual Studio 都可以使用,但建议使用最新版本。根据自己的需要,可以创建类似 Windows 窗体的应用程序或不同的项目模板。为了简单起见,本课将使用控制台应用程序。

如何用 C# 将 DataTable 导出为 CSV,图 1:在 Visual Studio 中创建新项目

在 Visual Studio 中创建一个新项目

然后,输入项目名称和位置。

如何用 C# 将数据表导出为 CSV,图 2:配置新项目

配置新项目

接下来选择以下结构。本项目将使用 .NET Core 6。

如何在 C# 中将 Datatable 导出为 CSV,图 3:选择 .NET Framework 版本

选择 .NET Framework 版本

应用程序生成解决方案后,将打开 program.cs 文件,以便您输入程序代码并构建/运行应用程序。

如何在 C# 中将 Datatable 导出为 CSV, 图 4:新创建的控制台应用程序项目

新创建的控制台应用程序项目

然后就可以添加并使用该库来评估代码了。

2.安装 IronXL 库

下载和安装 IronXL 库有四种方法。

它们是

  • 通过 Visual Studio 安装
  • 使用 Visual Studio 软件包管理器控制台安装
  • 直接从 NuGet 网站下载
  • 直接从 IronXL 网站下载

使用 Visual Studio 安装 IronXL

使用 NuGet 包管理器可以安装 IronXL 模块。要找到 IronXL,必须先启动 NuGet 包管理器,然后在浏览窗格中查找。从搜索列表中选择安装 IronXL。之后,IronXL 库就能使用该程序了。

下图演示了如何启动 Visual Studio 的 NuGet 包管理器。

如何在 C# 中将 Datatable 导出为 CSV,图 5:导航至 NuGet 包管理器

导航至 NuGet 软件包管理器

如何在 C# 中将 Datatable 导出为 CSV,图 6:在 NuGet 软件包管理器用户界面中安装 IronXL 软件包

在 NuGet 软件包管理器用户界面安装 IronXL 软件包

使用 Visual Studio NuGet 包管理器控制台安装 IronXL

许多人喜欢使用控制台执行任务。因此,终端安装也是一种选择。要使用命令行安装 IronXL,请遵循以下说明。

  • 导航至 Visual Studio 中的 Tools > NuGet Package Manager > Package Manager 界面。
  • 在软件包管理器的控制台选项卡中输入以下命令:
    :ProductInstall
  • 等待 IronXL 下载并安装到活动项目中。

如何在 C# 中将 Datatable 导出为 CSV,图 7:在软件包管理器控制台用户界面中安装 IronXL 软件包

在软件包管理器控制台用户界面安装 IronXL 软件包

直接从 NuGet 网站下载 IronXL

第三种选择是直接从网站下载 NuGet 软件包。

  • 探索 官方 NuGet 链接.
  • 可在右侧菜单中选择下载软件包。
  • 点击两次保存的文件。文件将立即安装。
  • 之后重新加载答案,并开始在项目中使用它。

直接从 IronXL 网站获取

要直接从网站下载最新软件包,请点击此处 下载 IronXL ZIP 文件的链接.该链接将下载一个 ZIP 文件,其中包含最新版本的 IronXL 库 DLL。下载完成后,将 ZIP 文件内容解压缩到任意目录。

下载完成后,请按照以下步骤将文件添加到项目中。

  • 在解决方案窗口中,右键单击文件。
  • 选择 "引用",然后导航到包含 IronXL 动态链接库的解压缩文件夹。
  • 选择 DLL,然后单击 "确定 "将其作为引用添加到活动项目中。

3.导出为 CSV 文件

使用 IronXL 可以方便快捷地将数据表创建为 CSV 文件。它有助于将数据写入新的 CSV 文件。

首先,如下图所示,要使用 IronXL 类和方法,必须包含 IronXL 命名空间。

如何在 C# 中将 Datatable 导出为 CSV,图 8:添加常用命名空间

添加通用命名空间

可使用 IronXL 创建 Excel 文件,然后将其转换为 工作簿 物体。将它们转化为对象后,再对它们进行各种操作。下面的示例代码将通过把 "数据表 "转换为 Excel 工作表来创建 Excel 文件。

using IronXL;
using IronXL.Options;
using System.Data;

static void Main(String [] arg)
{
    ExportToExcel("H:\\test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("strawberry");
    table.Rows.Add("grapes");
    table.Rows.Add("watermelon");
    table.Rows.Add("bananas");
    table.Rows.Add("lemons");

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

static void Main(String [] arg)
{
    ExportToExcel("H:\\test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("strawberry");
    table.Rows.Add("grapes");
    table.Rows.Add("watermelon");
    table.Rows.Add("bananas");
    table.Rows.Add("lemons");

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

Shared Sub Main(ByVal arg() As String)
	ExportToExcel("H:\test.csv")
End Sub

Public Shared Sub ExportToExcel(ByVal filepath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Fruits", GetType(String))
	table.Rows.Add("Apple")
	table.Rows.Add("Orange")
	table.Rows.Add("strawberry")
	table.Rows.Add("grapes")
	table.Rows.Add("watermelon")
	table.Rows.Add("bananas")
	table.Rows.Add("lemons")

	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = wb.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
	wb.SaveAsCsv(filepath, ";")
End Sub
VB   C#

上述代码将 DataTable 导出到 Excel 文件。一旦创建了DataTable,就会创建列标题。然后,在创建第一列后逐行添加行。将列和行添加到 DataTable 对象后,将创建 WorkBook 对象来保存这些数据。创建 工作表 对象,并将其添加到 WorkBook 对象中。

DataTable 中读取每个值,并使用 foreach 循环将其添加到 WorkSheet 中。将所有值添加到工作表后, 保存为 Csv 方法将它们保存到 CSV 文件中;同时,我们还可以将分隔符和带有位置的文件名作为参数。

如何在 C# 中将 Datatable 导出为 CSV,图 9:输出的 CSV 文件

输出 CSV 文件

运行代码示例的输出结果如上图所示。在截图中,数据表中的每条数据都被单独添加到了新生成的 Excel 表中。

要了解有关 IronXL 教程的更多信息,请点击 如何导出为 Excel 格式.

结论

IronXL 是最受欢迎的 Excel 工具之一。它不依赖任何其他外部库。它是独立的,不需要安装 Microsoft Excel。它可通过多种渠道运行。

IronXL 为所有与 Microsoft Excel 文档相关的任务提供了一个可编程执行的一体化解决方案。你可以执行公式计算、字符串或数字排序、修剪和追加、查找和替换、合并和取消合并、保存文件等。你还可以设置单元格数据格式,同时验证电子表格数据。它还支持读写 CSV 文件,帮助你像 Excel 数据一样工作。

IronXL's 推出时的起始价格为"$liteLicense"。用户还可选择支付一年的订购费,以获得产品协助和更新。如需额外付费,IronXL 还可提供不受限制的再分发安全性。如需了解更多大致定价信息,请访问以下网站 许可页面

< 前一页
如何在C#中从Excel文件获取单元格值
下一步 >
在 C# 中如何导入 Excel 文件

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

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