使用IRONXL

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

更新 2024年二月20日
分享:

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

IronXL在处理电子表格(无论是 CSV 格式还是 Excel 文件)时,"CSV "是一个很好的解决方案。 IronXL 可免费用于开发,使用方便,功能广泛,可处理任何类型的电子表格。 它具有安全性和高性能。 在继续前行之前,我们先来简单介绍一下 IronXL。

IronXL

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

IronXL.Excel 是用 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 的启动窗口

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 软件包如下图所示,您将安装并随时可以使用".NET "和 "Node.js"。

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

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

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

本例将从 SQL 服务器数据库中填充数据。 从 SQL DB 获取数据集后,我们将使用这些输入数据创建 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 for .NET 在 .NET 7 中创建 CSV 文件非常简单,如上图所示。 由于程序是用 IronXL for .NET 7 编写的,因此性能出众。 IronXL.Excel 还提供其他实用功能,如创建、读取和操作 Excel 文件。 有关详细信息,请访问官方文件.

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

    IronXL 的免费版本用于开发目的。 要在生产中部署应用程序,请获得免费试用版本或商业许可. IronXL 隶属于Iron Suite该项目包括五个库:.NET、Java、Python 或 Node.js:

  4. IronXL今天,我们就来探讨这个问题。

  5. IronPDF用于生成、阅读和处理 PDF 文件

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

    4.IronBarcode用于读取和生成 BarCode

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

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

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

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

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