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 Free を追加

あなたがアプリケーションでそれを使用する前に、まずIronXLをインストールする必要があります。 幸運なことに、プロジェクトにIronXLをインストールするための多くのオプションが提供されています。

以下のリンクを使用して彼らのサイトからダウンロードしてください: https://ironsoftware.com/csharp/excel/docs/

または

  • Visual Studioでプロジェクトメニューを選択します
  • NuGet パッケージの管理をクリック
  • IronXL.Excelを検索
  • インストールをクリック
Install-Package IronXL.Excel
Here is the translation of the provided content: href="/img/faq/excel/csharp-datatable-to-csv/ironxl-excel-nuget-package.png" ターゲット="_blank" > 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」を指定して新しいワークブックを作成します。 次に、データテーブルからExcelワークシートにデータを挿入するforeachループが続きます。 最後に、SaveAsCsv メソッドはデータテーブルをCSVにエクスポートするために使用されます。

出力されたExcelワークシートは次のように表示されます:

Here is the translation of the provided content: href="/img/faq/excel/csharp-datatable-to-csv/datatable-output-to-csv.png" ターゲット="_blank" > DatatableをCSVに出力
図2 - データテーブルの出力をCSVに変換

ライブラリ クイック アクセス

IronXL APIリファレンスドキュメント

Learn more and share how to merge, unmerge, and work with cells in Excel spreadsheets using the handy IronXL APIリファレンスドキュメント.

IronXL APIリファレンスドキュメント