
如何在 .NET Core 中导出到 CSV
1.0 介绍
本文将使用最知名的库之一IronXL ,来对比和比较 .NET 技术以编程方式与 Microsoft Excel 文档交互的不同方法。 它还将构建一个用于读取、写入和导出 Excel 电子表格到 CSV 文件的环境。
2.0 IronXL
IronXL 适用于 .NET 是一个 C# Excel 库,可用于读取 Microsoft Excel 文档并将其转换为 CSV 文件。 IronXL是一个独立的.NET软件库,可以在不安装Microsoft Office或Microsoft.Office.Interop.Excel的情况下使用。 它可以读取多种电子表格格式。
借助 IronXL 简单易用的 C# API,可以在 .NET 环境中轻松读取、编辑和生成 Excel 电子表格。 IronXL 完全支持 Xamarin、Linux、macOS、Azure、.NET Core 和 .NET Framework。
2.1 IronXL 库功能
- IronXL 是最优秀的 C# Excel 电子表格库之一,它同时适用于 .NET Core 和 .NET Framework。
- IronXL 支持几乎所有 .NET Framework,包括控制台、Windows 窗体和 Web 应用程序。
- IronXL 与 Windows、macOS 和 Linux 均兼容。
- 使用 IronXL 可以快速轻松地访问 Excel 文件。 IronXL 可以读取 XLSX 文件、CSV 文件、XLS、XSLT、TSV、XLSM 等 Excel 文件格式。 众多功能中包括导入、更新和导出数据集和数据表的功能。
- IronXL 可以生成 Excel 电子表格的计算结果。
- 对于 Excel 列,IronXL 支持多种数据类型,例如文本、整数、日期、货币、公式和百分比。 IronXL 支持日期、货币、百分比、文本、数字、公式和其他 Excel 列数据类型。
3.0 创建 .NET Core 6 项目
在本通讯的后续章节中,您将看到使用 IronXL 库构建 CSV 文件是多么容易。
步骤 1:新建一个项目以生成 CSV 文件。
打开Visual Studio ,从"文件"菜单中选择"新建项目"。
从随后出现的对话框中选择"控制台应用程序".NET 项目模板,然后单击"下一步"。
在Visual Studio中创建一个新的控制台应用程序
"项目名称"可以随意填写。 在"位置"部分提供新项目的位置后,单击"**下一步"**按钮继续。
配置新项目
可以使用"框架"下拉菜单选择 .NET Framework。 在这种情况下,长期支持的 .NET 版本是 6.0。接下来,单击**"创建"**按钮。
.NET 目标框架选择
安装 IronXL 库,因为后续解析需要用到它。 在包管理器控制台中输入以下命令以完成此操作:
安装 IronXL 软件包
另一种方法是使用 NuGet 包管理器搜索"IronXL"包。 在"浏览"选项卡中,在搜索框中输入"IronXL"以搜索 IronXL 库。 从与 IronXL 相关的所有 NuGet 包列表中,选择要下载的包。
在 NuGet 包管理器 UI 中搜索并安装 IronXL 包
4.0 将数据导出到 CSV 文件
using IronXL,创建 CSV 文件的数据表既简单又快捷。 它便于将数据写入新的 CSV 文件。第一步是包含 IronXL 命名空间,如下面的代码截图所示。 一旦 IronXL 被引入,就可以在代码中使用它的类和方法。
包含 IronXL 命名空间
IronXL可以用来创建Excel文件,然后将其转换为WorkBook对象。 在它们成为WorkBook类的对象后,可以通过多种方式对其进行操作。 通过将DataTable转换为Excel工作表,以下示例源代码创建了一个Excel文件。
using IronXL;
using System.Data;
class Program
{
static void Main(string[] args)
{
ExportToExcel("test.csv");
}
// Method to export a DataTable to an Excel sheet which is then saved as a CSV file
public static void ExportToExcel(string filepath)
{
// Create a DataTable and add columns & rows
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");
// Create a new workbook and get the default worksheet
var workbook = WorkBook.Create(ExcelFileFormat.XLS);
var worksheet = workbook.DefaultWorkSheet;
// Add table data to worksheet
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
worksheet["A" + rowCount].Value = row[0].ToString();
rowCount++;
}
// Save worksheet data to a CSV file
workbook.SaveAsCsv(filepath, ";");
// Optionally convert workbook to a stream, useful for web applications
var stream = workbook.ToStream();
}
}Imports IronXL
Imports System.Data
Module Program
Sub Main(args As String())
ExportToExcel("test.csv")
End Sub
' Method to export a DataTable to an Excel sheet which is then saved as a CSV file
Public Sub ExportToExcel(filepath As String)
' Create a DataTable and add columns & rows
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")
' Create a new workbook and get the default worksheet
Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
Dim worksheet = workbook.DefaultWorkSheet
' Add table data to worksheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
worksheet("A" & rowCount).Value = row(0).ToString()
rowCount += 1
Next
' Save worksheet data to a CSV file
workbook.SaveAsCsv(filepath, ";")
' Optionally convert workbook to a stream, useful for web applications
Dim stream = workbook.ToStream()
End Sub
End Module上述CSV示例展示了如何将WorkBook对象便被构建。 WorkBook对象用于向Excel表中添加数据,之后这些数据可以保存到其他地方。 下一步是启动与工作簿对象链接的WorkSheet对象。
在将值添加到工作表之前,使用DataTable读取每个值。 SaveAsCsv函数用于将数据保存到CSV文件中,一旦它们都被放入工作表中,使用文件名作为参数。 如果需要,可以使用分隔符作为可选参数。 该库随后会协助将数据写入 CSV 文件。除了 Microsoft Excel 之外,还可以使用记事本读取 CSV 文件。 另外,方法Save用于以给定文件格式保存相同内容。
输出文件:Excel 文件 test.csv
以上是运行代码示例的输出结果。 截图中显示的是数据表中每一条信息分别添加到新创建的 Excel 表格中。 或者,它也可以作为 Web 应用程序的一部分转换为流,以返回可以从客户端下载的文件。
有关将数据从 DataTable 导出到 Excel 的更多信息,请查看此教程页面。
要了解如何将数据导出到 Excel,请参阅此分步教程。
5.0 结论
IronXL是使用最广泛的Excel实用程序之一。 它不依赖于任何其他外部库。 它是独立运行的,无需安装 Microsoft Excel。 此外,它还通过多种渠道发挥作用。
IronXL为所有通过程序实现的 Microsoft Excel 文档相关操作提供全面的解决方案。 计算公式、对字符串或数字进行排序、修剪、追加、查找和替换、合并和取消合并、保存文件等等,这些操作都是可能的。 除了验证电子表格数据外,您还可以设置单元格数据类型。它简化了 Excel 数据的处理,并允许您读取和写入文件。
IronXL 提供免费试用许可证,用户可以免费试用和测试其所有令人惊叹的功能。
启动时,IronXL可用于$999。 用户也可以选择支付一年的订阅费,以获得更新和产品支持。 IronXL 提供无限制再分发的安全保障,但需额外收费。 要查找更精确的价格数据,请访问 IronXL 的许可页面。

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



