如何使用 C# 将 Datatable 转换为 CSV

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 IronXL,只需几步就能将现有数据表转换为 CSV,从而将数据表导出为 CSV。本文旨在向你展示这方面的一个快速示例。


步骤 1

1.添加免费 IronXL

要在应用程序中使用 IronXL,首先需要安装 IronXL。幸运的是,他们提供了许多将 IronXL 安装到项目中的选项。

请使用以下链接从其网站下载: https://ironsoftware.com/csharp/excel/docs/

  • 在 Visual Studio 中选择项目菜单
  • 单击 "管理 NuGet 包
  • 搜索 IronXL.Excel
  • 点击安装
Install-Package IronXL.Excel
IronXL.Excel NuGet 软件包
图 1 - IronXL.Excel NuGet 软件包

教程

2.创建数据表并导出为 CSV

现在准备就绪。

首先导入 IronXL 命名空间

using IronXL;
using IronXL;
Imports IronXL
VB   C#

然后,添加以下代码:

/**
Save a datatable to CSV
anchor-create-and-export-datatable-to-csv
**/
private void button6_Click(object sender, EventArgs e)
{
    DataTable table = new DataTable();
    table.Columns.Add("Example_DataSet", typeof(string));

    table.Rows.Add("0");
    table.Rows.Add("1");
    table.Rows.Add("2");
    table.Rows.Add("3");
    table.Rows.Add("1");
    table.Rows.Add("2");
    table.Rows.Add("3");

    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "OJ";
    WorkSheet ws = wb.DefaultWorkSheet;

    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {

        ws ["A" + (rowCount)].Value = row [0].ToString();

        rowCount++;
    }

    wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Saved as : Save_DataTable_CSV.Sheet1.csv
}
/**
Save a datatable to CSV
anchor-create-and-export-datatable-to-csv
**/
private void button6_Click(object sender, EventArgs e)
{
    DataTable table = new DataTable();
    table.Columns.Add("Example_DataSet", typeof(string));

    table.Rows.Add("0");
    table.Rows.Add("1");
    table.Rows.Add("2");
    table.Rows.Add("3");
    table.Rows.Add("1");
    table.Rows.Add("2");
    table.Rows.Add("3");

    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "OJ";
    WorkSheet ws = wb.DefaultWorkSheet;

    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {

        ws ["A" + (rowCount)].Value = row [0].ToString();

        rowCount++;
    }

    wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Saved as : Save_DataTable_CSV.Sheet1.csv
}
'''
'''Save a datatable to CSV
'''anchor-create-and-export-datatable-to-csv
'''*
Private Sub button6_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim table As New DataTable()
	table.Columns.Add("Example_DataSet", GetType(String))

	table.Rows.Add("0")
	table.Rows.Add("1")
	table.Rows.Add("2")
	table.Rows.Add("3")
	table.Rows.Add("1")
	table.Rows.Add("2")
	table.Rows.Add("3")

	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	wb.Metadata.Author = "OJ"
	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()

		rowCount += 1
	Next row

	wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Saved as : Save_DataTable_CSV.Sheet1.csv
End Sub
VB   C#

上述代码创建了一个数据表,然后创建了一个新工作簿,指定 "OJ "为其所有者/创建者。随后的 foreach 循环将数据表中的数据插入 Excel 工作表中。最后,使用 SaveAsCsv 方法将数据表导出为 csv 格式。

输出的 Excel 工作表如下:

可数据化输出到 CSV
图 2 - 可数据化输出到 CSV

图书馆快速访问

IronXL 应用程序接口参考文档

Learn more and share how to merge, unmerge, and work with cells in Excel spreadsheets using the handy IronXL 应用程序接口参考文档.

IronXL 应用程序接口参考文档