C#を使用してDatatableをCSVに変換する方法

チャクニット・ビン
チャクニット・ビン
2020年12月22日
更新済み 2024年10月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をインストールするための多くのオプションが提供されています。

次のリンクを使用して彼らのサイトからダウンロードしてください: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」を指定して新しいワークブックを作成します。 次に、データテーブルからExcelワークシートにデータを挿入するforeachループが続きます。 最後に、SaveAsCsv メソッドはデータテーブルをCSVにエクスポートするために使用されます。

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

データテーブルの出力をCSVに変換
Figure 2 - Datatable output to 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リファレンスドキュメント
Documentation related to ライブラリ クイック アクセス
チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。