IRONXLの使用

C#でデータテーブルをCSVにエクスポートする方法

更新済み 2024年2月20日
共有:

イントロダクション

IronXLは、開発者がCSVファイルを含むMicrosoft Excel文書とC# .NET技術でやり取りすることを可能にする人気のライブラリで、Microsoft Excelをインストールする必要はありません。 これは、登録されたタイプをCSVファイルに自動変換し、カスタム構造のCSVファイルを書き込むことを可能にします。

IronXLライブラリの機能

Microsoft Excel文書は、C# IronXL .NETライブラリを使用して読み取り、CSVファイルに変換することができます。 IronXLは、さまざまなスプレッドシート形式を読み取ることができるスタンドアロンの.NETソフトウェアライブラリです。 Microsoft.Office.Interop.Excel に依存せず、Microsoft Excel のインストールを必要としません。

IronXLの使いやすいC# APIを利用することで、.NET環境でExcelスプレッドシートファイルを迅速に読み取り、修正および作成することができます。 .NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、AzureはすべてIronXLによって完全にサポートされています。

  • C#向けの主要な.NET Coreおよび.NET FrameworkエクセルスプレッドシートライブラリにはIronXLが含まれます。
  • ほぼすべての.NET Framework、コンソール、Windowsフォーム、およびWebは、IronXLによってサポートされています。
  • IronXLは、Windows、Linux、macOSなど、さまざまなオペレーティングシステムで動作します。
  • IronXLは、それを簡単かつ迅速にしますExcelファイルを読み込む.
  • IronXLは、XLSXファイル、XLS、CSV、TSV、XLST、XLSMファイルなど、さまざまなExcelファイル形式の読み取りをサポートしています。 以下の内容を日本語に翻訳してください:

また、読み込み、修正、エクスポートDatatablesデータセットをエクスポートするなど。

  • IronXLは、XLS、CSV、TSV、JSONなど、さまざまなサフィックスのファイルをエクスポートおよび保存できます。
  • IronXLは生成できますExcel計算.
  • IronXLはさまざまなエクセル列データ形式テキスト、数値、数式、日付、通貨、パーセンテージを含む。

    詳細については、こちらをご覧くださいこれ.

新しいプロジェクトをVisual Studioで作成する

Visual Studioでは、IronXLフレームワークを使用する前に、.NETプロジェクトを作成する必要があります。 どのエディションのVisual Studioでも動作しますが、最新のものを推奨します。 ご要件に応じて、Windows Formsのようなアプリケーションやさまざまなプロジェクトテンプレートを構築できます。 物事を簡単にするために、このレッスンではコンソールアプリケーションを使用します。

C#でDataTableをCSVにエクスポートする方法、図1:Visual Studioで新しいプロジェクトを作成

Visual Studio で新しいプロジェクトを作成する

その後、プロジェクトの名前と場所を入力してください。

C#でDataTableをCSVにエクスポートする方法、図2:新しいプロジェクトを構成する

新しいプロジェクトを構成する

次の構造を選択します。 この作業には .NET Core 6 が使用されます。

C#でデータテーブルをCSVにエクスポートする方法、図3:.NET Frameworkバージョンを選択

.NETフレームワークのバージョンを選択

アプリケーションがソリューションを生成した後に program.cs ファイルが開かれ、プログラムコードを入力してアプリケーションをビルドおよび実行することができます。

C#でデータテーブルをCSVにエクスポートする方法、図4:新しく作成されたコンソールアプリケーションプロジェクト

新しく作成されたコンソールアプリケーションプロジェクト

そのライブラリを追加し、コードを評価するために使用できます。

2. IronXLライブラリをインストールする

IronXLライブラリをダウンロードしてインストールする方法は4つあります。

どれですか:

  • Visual Studioでのインストール
  • Visual Studio パッケージ マネージャー コンソールを使用してインストール
  • NuGetウェブサイトから直接ダウンロードする
  • IronXLのウェブサイトから直接ダウンロード

Visual Studioを使用してIronXLをインストールする

NuGet パッケージ マネージャーを使用して、IronXL モジュールをインストールすることができます。 IronXLを見つけるには、まずNuGet パッケージ マネージャーを起動し、次に「参照」ペインで探す必要があります。 検索リストからIronXLを選択してインストールします。 その後、IronXLライブラリはこのアプリを使用できるようになります。

以下の画像は、Visual StudioのNuGetパッケージマネージャーを起動する方法を示しています。

C#でデータテーブルをCSVにエクスポートする方法、 図5:NuGetパッケージマネージャーへ移動

NuGetパッケージマネージャーに移動

C#でデータテーブルをCSVにエクスポートする方法, 図6: NuGetパッケージマネージャーUIでIronXLパッケージをインストールする

NuGet パッケージ マネージャー UI で IronXL パッケージをインストール

Visual Studio の NuGet パッケージ マネージャー コンソールを使用して IronXL をインストールする

多くの人々は、コンソールを使用してタスクを実行することを楽しんでいます。 したがって、ターミナルによるインストールも選択肢の一つです。 以下の指示に従って、コマンドラインを使用してIronXLをインストールしてください。

  • Visual Studioでツール > NuGet パッケージ マネージャー > パッケージ マネージャー インターフェースに移動します。
  • パッケージマネージャーのコンソールタブに次のコマンドを入力します:
    :ProductInstall
  • IronXL がアクティブプロジェクトにダウンロードされインストールされるのを待ちます。

    C#でデータテーブルをCSVにエクスポートする方法、図7:パッケージ マネージャー コンソール UIでIronXLパッケージをインストールします。

    パッケージ マネージャー コンソール UI で IronXL パッケージをインストール

NuGetウェブサイトから直接IronXLをダウンロードする

NuGetパッケージは、ウェブサイトから直接ダウンロードすることができます(第三のオプションとして)。

  • 探検する公式NuGetリンク.
  • ダウンロードパッケージの選択肢は、右側のメニューから見つけることができます。
  • 保存したファイルを2回クリックしてください。すぐにインストールされます。
  • その後、回答をリロードし、プロジェクトで使用し始めてください。

IronXLのウェブサイトから直接取得

最新のパッケージをウェブサイトから直接ダウンロードするには、こちらをクリックしてください。IronXL ZIPファイルのダウンロードリンク. このリンクをクリックすると、最新バージョンのIronXLライブラリDLLを含むZIPファイルがダウンロードされます。 ダウンロードが終了したら、ZIPファイルの内容を任意のディレクトリに解凍してください。

ダウンロード後、プロジェクトにファイルを追加するには、以下の手順に従ってください。

  • ソリューションウィンドウから、ドキュメントを右クリックします。
  • 「参照」を選択し、次にIronXL DLLが含まれている抽出されたフォルダーに移動します。
  • DLLを選択し、[OK]をクリックしてアクティブなプロジェクトに参照として追加します。

CSVファイルにエクスポート

IronXLを使用して、データテーブルは簡単かつ迅速にCSVファイルに作成できます。 新しいCSVファイルにデータを書き込むのに役立ちます。

まず、以下のコード画像に示されているように、IronXLのクラスやメソッドを使用するためにIronXLネームスペースを含める必要があります。

DatatableをCSVにエクスポートする方法(C#)、図8: 一般的なネームスペースを追加

共通の名前空間を追加

ExcelファイルはIronXLを使用して作成でき、その後、それらを変換するWorkBookオブジェクト。 それらをオブジェクトに変換した後、さまざまな操作を実行します。 以下のサンプルコードは、DataTableをExcelワークシートに変換することによってExcelファイルを作成します。

using IronXL;
using IronXL.Options;
using System.Data;

static void Main(String [] arg)
{
    ExportToExcel("H:\\test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("strawberry");
    table.Rows.Add("grapes");
    table.Rows.Add("watermelon");
    table.Rows.Add("bananas");
    table.Rows.Add("lemons");

    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filepath, ";");
}
using IronXL;
using IronXL.Options;
using System.Data;

static void Main(String [] arg)
{
    ExportToExcel("H:\\test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("strawberry");
    table.Rows.Add("grapes");
    table.Rows.Add("watermelon");
    table.Rows.Add("bananas");
    table.Rows.Add("lemons");

    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filepath, ";");
}
Imports IronXL
Imports IronXL.Options
Imports System.Data

Shared Sub Main(ByVal arg() As String)
	ExportToExcel("H:\test.csv")
End Sub

Public Shared Sub ExportToExcel(ByVal filepath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Fruits", GetType(String))
	table.Rows.Add("Apple")
	table.Rows.Add("Orange")
	table.Rows.Add("strawberry")
	table.Rows.Add("grapes")
	table.Rows.Add("watermelon")
	table.Rows.Add("bananas")
	table.Rows.Add("lemons")

	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		writer ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filepath, ";")
End Sub
VB   C#

上記のコードは DataTable をExcelファイルにエクスポートします。DataTable が作成されると列の見出しが作成されます。 次に、最初の列を確立した後、一度に一行ずつ追加します。 DataTableオブジェクトに列と行を追加してデータを保持した後、WorkBookオブジェクトが作成されます。 についてワークシートWorkBook オブジェクトに追加されるオブジェクトが次に構築されます。

DataTableの各値はforeachループを使用して読み取られ、値がWorkSheetに追加される前に追加されます。 すべての値がワークシートに追加された後、SaveAsCsv(CSVとして保存)メソッドは、CSVファイルに保存するために使用されます。同時に、区切り文字やファイル名とその保存場所をパラメーターとして指定することもできます。

C#でデータテーブルをCSVにエクスポートする方法、図9: 出力されたCSVファイル

出力CSVファイル

実行コードサンプルの出力は上記に示されています。 スクリーンショットでは、データテーブルの各データが新しく作成されたExcelシートに個別に追加されています。

IronXLのチュートリアルについて詳しく知るには、クリックしてくださいエクセル形式へのエクスポート方法.

結論

最も人気のあるExcelツールの一つはIronXLです。 外部の他のライブラリに依存しません。 これは自律的であり、Microsoft Excelのインストールを必要としません。 それは多数のチャネルにわたって動作します。

IronXLは、プログラムによって実装されるすべてのMicrosoft Excelドキュメント関連タスクに対するオールインワンソリューションを提供します。 数式の計算、文字列や数値のソート、トリミングと追加、検索と置換、結合と解除、ファイルの保存などを実行できます。また、セルのデータ形式を設定し、スプレッドシートデータの検証を行うこともできます。 また、CSVファイルの読み書きをサポートしており、Excelデータのように作業することができます。

IronXLの開始価格は \$liteLicense です。 また、製品のサポートと更新のために1年間のサブスクリプション料金を支払うオプションも提供しています。 追加料金により、IronXLは無制限の再配布のためのセキュリティを提供します。 より正確な価格情報を調べるには、こちらをご覧くださいライセンスページ

< 以前
Excel ファイルから C# でセルの値を取得する方法
次へ >
C#でExcelファイルをインポートする方法