IRONSOFTWAREHOME
USING IRONXL

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

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

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

IronXL 是一个出色的解决方案,可以处理电子表格,无论是CSV格式还是Excel文件。 IronXL免费供开发使用,易于使用,并提供广泛的功能来处理任何类型的电子表格。 它安全且性能卓越。 在继续之前,让我们简要介绍一下IronXL。

IronXL

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

IronXL是一个快速简便的方法,可以在C#和.NET中处理Excel和其他电子表格文件。 IronXL在.NET Framework、.NET Core和Azure上运行良好,无需Office Excel Interop。IronXL也不需要安装Microsoft Office或包括任何其他这类依赖项。

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

创建新的Visual Studio项目

打开Visual Studio集成开发环境;推荐使用最新版本的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包管理器控制台,并输入以下命令。

PM > 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');
Text

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

using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        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++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}

代码解释

  • 方法GetData()从SQL Server数据库中检索数据并将其返回为DataTable

  • WorkSheet中。

  • 使用WorkSheet的新行中。

  • 最后,使用IronXL提供的SaveAsCsv功能保存CSV文件。

输出

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

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

很显然,该CSV文件生成正确,并与提供的输入对齐。

摘要

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

  1. 从SQL Server获取数据。
  2. 将数据填充到数据表。
  3. 从该数据表创建CSV文件。

在.NET 7中使用IronXL创建CSV文件非常容易,如上所示。 该程序的性能非常出色,因为它是在.NET 7中使用IronXL编写的。 IronXL提供其他有用的功能,如创建、读取和操作Excel文件。 更多详细信息,请访问官方文档

另外,IronPDF为开发人员提供了将PDF文档渲染为图像和从PDF中提取文本和内容的方法。 另外,IronPDF还能够在PDF中渲染图表添加条形码,以编程方式通过密码增强安全性

免费版本的IronXL用于开发目的。 若要在生产中部署应用程序,请获取免费试用版本或商业许可证。 IronXL是Iron Suite的一部分,包含五个库:

  1. IronXL,今天探索的部分。
  2. IronPDF 用于生成、读取和操作PDF文件
  3. IronOCR 用于从图像中提取文本
  4. IronBarcode 用于读取和生成条形码
  5. IronWebScraper 用于从网站提取结构化数据。

你可以以两个产品的价格购买所有这些产品。

Curtis Chau
技术作家

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

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户