使用IRONXL

如何在C#中将数据集转换为CSV

更新 2024年二月20日
分享:

下文将演示如何将 C# 数据集转换为 CSV 文件。

IronXL 是处理 CSV 格式或 Excel 文件等电子表格的绝佳解决方案。IronXL 可免费用于开发,易于使用,功能丰富,可处理任何类型的电子表格。它安全可靠,性能卓越。在继续了解之前,让我们先简要介绍一下 IronXL。

IronXL

IronXL 是一个 铁软件 库,允许 C# 开发人员读取、生成和编辑 Excel (和其他电子表格文件) 在 .NET 应用程序和网站中使用。

IronXL 是用 C# 和 .NET 处理 Excel 和其他电子表格文件的一种快速而简单的方法。IronXL 与 .NET Framework、.NET Core 和 Azure 配合使用,无需 Office Excel Interopm。IronXL 也不需要安装 Microsoft Office 或包含任何其他此类依赖项。

让我们开始创建并编写代码,为数据集创建 CSV 文件。

创建一个新的 Visual Studio 项目

打开 Visual Studio IDE;建议使用最新版本的 Visual Studio,但也可根据个人喜好使用任何版本。请注意,创建新项目的步骤可能因版本而异。

如何用 C# 将数据集转换为 CSV,图 1:Visual Studio 的启动窗口

虚拟工作室的启动窗口

单击 "创建新项目"。如下图所示,会出现一个新窗口。

如何用 C# 将数据集转换为 CSV,图 2:在 Visual Studio 中创建新项目

在 Visual Studio 中创建一个新项目

从列表中选择你喜欢的项目模板。单击下一步按钮,新窗口就会出现,如下图所示。

如何在 C# 中将数据集转换为 CSV,图 3:配置新创建的项目

配置新创建的项目

为项目命名,选择项目位置,然后按下一步按钮。新窗口将如下所示。

如何在 C# 中将数据集转换为 CSV,图 4:选择 .NET Framework 版本

选择 .NET Framework 版本

选择目标 .NET Framework。您可以选择任何适合您需要的 .NET Framework,因为 IronXL 支持所有 .NET Framework。本教程将使用 .NET 7。单击创建按钮,将创建一个新项目,如下图所示。

如何在 C# 中将数据集转换为 CSV,图 5:Visual Studio 中的新控制台应用程序

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

现在,安装 IronXL NuGet 软件包,以便在此应用程序中使用。

安装 IronXL

打开 NuGet 软件包管理器控制台,输入以下命令

Install-Package IronXL.Excel

"(《世界人权宣言》) NuGet 软件包 将如下图所示安装完毕,随时可以使用。

如何用 C# 将数据集转换为 CSV, 图 6:安装 IronXL 软件包及其软件包依赖关系

安装 IronXL 软件包及其依赖软件包

现在,让我们用 C# 编写一些将数据集转换为 CSV 文件的代码。

本示例将从 SQL 服务器数据库中填充数据。从 SQL 数据库获取数据集后,我们将使用这些输入数据创建一个 CSV 文件。

创建数据表

第一步是从 SQL 中填充数据,但你也可以使用任何你喜欢的数据源。

本教程使用以下数据:

如何在 C# 中将数据集转换为 CSV,图 7:创建一个包含示例数据的新数据库

用样本数据创建新数据库

下面是创建样本数据的 SQL 脚本:

USE Test_DB

Create Table STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');

以下 C# 代码用于将数据表导出为 CSV 文件。

public static DataTable getData()
{
    string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
    string query = "select * from STUDENT_DATA";
    try
    {
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();
        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        return dt;
    } catch(Exception)
    {
        throw;
    }
}

static void Main(string [] args)
{
    DataTable table = getData();
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "JOHN";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        ws ["B" + (rowCount)].Value = row [1].ToString();
        ws ["C" + (rowCount)].Value = row [2].ToString();
        ws ["D" + (rowCount)].Value = row [3].ToString();
        ws ["E" + (rowCount)].Value = row [4].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); // 
}
public static DataTable getData()
{
    string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
    string query = "select * from STUDENT_DATA";
    try
    {
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();
        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        return dt;
    } catch(Exception)
    {
        throw;
    }
}

static void Main(string [] args)
{
    DataTable table = getData();
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "JOHN";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        ws ["B" + (rowCount)].Value = row [1].ToString();
        ws ["C" + (rowCount)].Value = row [2].ToString();
        ws ["D" + (rowCount)].Value = row [3].ToString();
        ws ["E" + (rowCount)].Value = row [4].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); // 
}
Public Shared Function getData() As DataTable
	Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
	Dim query As String = "select * from STUDENT_DATA"
	Try
		Dim conn As New SqlConnection(connString)
		Dim cmd As New SqlCommand(query, conn)
		conn.Open()
		' create data adapter
		Dim da As New SqlDataAdapter(cmd)
		' this will query your database and return the result to your datatable
		Dim dt As New DataTable()
		da.Fill(dt)
		da.Dispose()
		Return dt
	Catch e1 As Exception
		Throw
	End Try
End Function

Shared Sub Main(ByVal args() As String)
	Dim table As DataTable = getData()
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	wb.Metadata.Author = "JOHN"
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		ws ("B" & (rowCount)).Value = row (1).ToString()
		ws ("C" & (rowCount)).Value = row (2).ToString()
		ws ("D" & (rowCount)).Value = row (3).ToString()
		ws ("E" & (rowCount)).Value = row (4).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
End Sub
VB   C#

代码解释

方法 `getData()将从 SQL Server 数据库检索数据,如前所述。

在主函数中,它将创建一个 工作簿 然后使用 IronXL 创建一个 工作表.

在一个 for 循环中,数据将填充到给定工作表的行中。

然后,使用 保存为 Csv 功能。

输出

该程序生成的 CSV 文件如下:

如何用 C# 将数据集转换为 CSV,图 8:CSV 输出文件

CSV 输出文件

很明显,CSV 文件已正确生成,并与所提供的输入一致。

摘要

本文演示了如何用 C# 从数据集创建 CSV 文件。该库还可以 使用 C# 阅读 CSV 文件.SQL Server 数据库中的数据集通过三个步骤填充并创建 CSV 文件:

1.从 SQL Server 获取数据。

2.将数据填充到数据表中

3.从数据表中创建 CSV 文件。

如上图所示,使用 IronXL 在 .NET 7 中创建 CSV 文件非常简单。由于该程序是使用 IronXL 在 .NET 7 中编写的,因此性能出众。IronXL 还提供其他有用的功能,如创建、读取和操作 Excel 文件。更多详情,请访问 官方文件.

此外,IronPDF 还为开发人员提供了以下方法 将 PDF 文档渲染为图像提取文本和内容 从 PDF 导出。此外,IronPDF 还能 渲染图 PDF 格式、 添加条形码, 利用密码提高安全性 编程。

IronXL 的免费版本用于开发目的。要在生产中部署应用程序,请获取 免费试用 版本或 商业许可.IronXL 是 Iron Suite它由五个图书馆组成:

  1. IronXL今天,我们将对其进行探讨。

  2. IronPDF 用于生成、读取和处理 PDF 文件

  3. IronOCR 用于从图像中提取文本

  4. IronBarcode 用于读取和生成条形码

  5. IronWebScraper 用于从网站中提取结构数据。

如果一起购买,您只需花两个产品的价格就能获得所有这些产品。

< 前一页
在 C# 中如何导入 Excel 文件
下一步 >
如何在VB.NET中写入Excel文件

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

免费NuGet下载 总下载量: 988,189 查看许可证 >