如何使用C#將Datatable轉換為CSV

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

您可以使用 IronXL 將現有的資料表在幾個步驟中轉換為 CSV,從而將資料表導出為 CSV。 本文旨在向您快速示範此例。


第一步

1. 新增 IronXL 免費版本

您需要先安裝 IronXL,然後才能在您的應用程式中使用它。 幸運的是,他們為將 IronXL 安裝到您的項目中提供了許多選項。

透過以下連結從他們的網站下載:https://ironsoftware.com/csharp/excel/docs/

  • 在 Visual Studio 中選擇「專案」選單
  • 點擊管理 NuGet 套件
  • 搜索 IronXL.Excel
  • 點擊安裝
Install-Package IronXL.Excel

如何操作教程

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 方法用於將 datatable 導出為 csv。

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


資料庫快速訪問

IronXL API 參考文件

了解更多並分享如何使用方便的 IronXL API 參考文件合併、拆分和處理 Excel 試算表中的儲存格。

IronXL API 參考文件
Documentation related to 資料庫快速訪問