如何使用C#将数据表转换为CSV

查克尼特·宾
查克尼特·宾
2020年十二月22日
更新 2024年十月20日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

您可以通过使用IronXL将现有数据表转换为CSV,仅需几个步骤即可将数据表导出为CSV。 本文旨在快速向您展示一个例子。


步骤 1

1. 添加 IronXL Free

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

通过使用以下链接从他们的网站下载:https://ironsoftware.com/csharp/excel/docs/

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

教程

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

现在你准备好了。

首先导入 IronXL 命名空间

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

然后,添加以下代码:

/**
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
$vbLabelText   $csharpLabel

上述代码创建了一个数据表,然后创建一个新工作簿,并指定“OJ”为其所有者/创建者。 foreach 循环将数据表中的数据插入到 Excel 工作表中。 最后,SaveAsCsv 方法用于将数据表导出为 CSV。

输出的 Excel 工作表如下所示:

可数据化输出到 CSV
Figure 2 - Datatable output to CSV

图书馆快速访问

IronXL 应用程序接口参考文档

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

IronXL 应用程序接口参考文档
Documentation related to 图书馆快速访问
查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。