フッターコンテンツにスキップ
IRONXLの使用

C#でCSVファイルを読み込む方法

この記事では、IronXLライブラリを使用してC#のCSVリーダーを作成する方法を探ります。

IronXL - Excelライブラリ

IronXLは強力なExcelライブラリであり、C#開発者にさまざまな形式のExcelスプレッドシートを作成、読み込み、編集する能力を提供します。 .NET専用に設計されたIronXLは、速度、精度、使いやすさを優先しています。 Excelファイルをさまざまな形式で保存し、効率的なデータ読み取りのためにExcelにさまざまな表計算形式を読み込むことができます。

IronXLは、CSV、TSV、XLS、XLSX、XSLT、XLSMなど、さまざまなファイル拡張子のExcelワークブック形式をサポートしています。 最新バージョン for .NET Framework、および2.0までのすべての前のバージョンと互換性があります。IronXLは、Linux、MacOS、Azure、Docker、AWSなどのさまざまなプラットフォームで使用できます。

IronXLを使用してC#でCSVリーダーを作成する方法

前提条件

CSVファイルのデータをExcelファイルに変換し、C#でそれを読むには、次のツールが必要です。

  1. Visual Studio: C# .NETアプリケーションで作業するための必須の統合開発環境(IDE)です。 C#アプリの開発に公式に推奨されるIDEで、 Microsoftウェブサイトからダウンロードしてインストールできます。 ただし、開発者が好む場合、C#環境をサポートする他のIDEも使用できます。
  2. コンソールアプリの作成: シンプルなコンソールアプリケーションを作成する手順に従います。

    • Visual Studioを開き、"プロジェクトの作成"をクリックします。

      C# で CSV ファイルを読み込む方法、図 2: 新規プロジェクト ウィンドウ 新しいプロジェクトウィンドウ

    • リスト内のオプションから"コンソールアプリ"を選択します。 選択した言語がC#であることを確認します。

      C# で CSV ファイルを読み込む方法、図 3: 新しいコンソール アプリを作成する 新しいコンソールアプリの作成

    • 次に、プロジェクトに任意の名前を付けます。

      C# で CSV ファイルを読み込む方法、図 4: 構成 設定

    • プロジェクト設定の次のステップは.NET Frameworkの選択です。 最新のバージョンは.NET 7.0であり、標準用語でサポートされています。 ただし、潜在的なエラーを避けるため、Microsoftが長期サポートを提供しているより安定したバージョン for .NET 6.0を選択できます。 特定の要件に基づいて適切なバージョンを選ぶことが重要です。
  3. IronXL - これは、Excelスプレッドシートと連携するように設計された.NET Excelライブラリです。 使用する前にC#アプリケーションにインストールする必要があります。 パッケージをダウンロードしてインストールする方法は次のとおりです。
    1. NuGet - .NETのパッケージマネージャ。 NuGetウェブサイトからIronXLを直接ダウンロードできます。
    2. Visual Studio NuGet Package Manager: ツール > NuGetパッケージマネージャー > ソリューションのパッケージの管理...を使用して
  4. IronXL .NET Excel DLL zipファイルを直接Ironウェブサイトからダウンロードし、プロジェクトリファレンスとしてプロジェクトソリューションに追加します。

IronXL名前空間の追加

前提条件を満たしたら、次のステップは、main.cs ファイル内のソースコードの上に IronXL 名前空間を追加することです。

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

既存のCSVファイルを開く

IronXLは、C#でCSVファイルを読むための簡単な方法を提供します。 最初に、読み取るためにCSVファイルを開きます。 これは行と列に基づくファイル形式です。 ここでは、 WorkBookクラスとそのLoadCSVメソッドを使用して CSV ファイルを開きます。コードは以下のとおりです。

// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
' Load the CSV file and convert it to XLSX format.
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
$vbLabelText   $csharpLabel

IronXLの LoadCSV メソッドを使用すると、CSV ファイルを開いて XLSX 形式に変換できます。 このメソッドは、CSVファイルで使用されるリストの区切り文字を指定するオプションを提供します。この例では、デフォルトの区切り文字であるカンマが使用されています。 結果として得られたファイルを開いて、IronXLの機能を使用してExcelスプレッドシートを読み取り、操作することができます。

C# で CSV ファイルを読み込む方法、図 5: CSV ファイル CSVファイル

CSVリーダークラスからワークシートを取得

前のステップで、CSVファイルはIronXLを使用してExcelワークブックとして開かれました。 次に、 WorkSheetクラスを使用して、ワークブックから既定のワークシートを取得します。 次の例では、CSVデータを読み取るためのワークシートを取得する方法を説明しています。

// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
' Retrieve the default worksheet from the loaded workbook.
Dim ws As WorkSheet = csv.DefaultWorkSheet
$vbLabelText   $csharpLabel

Excelワークシートの操作に関する詳細情報は、コード例ページで確認できます。

C# DataTableを使用してCSVデータを読む

一度CSVが正常にロードされ、データがワークシートとして利用可能になったら、CSVファイルからのデータをC# DataTableで非常に簡単に読み取ることができます。

ワークシートをDataTableに変換

まず、DataTable インスタンスを作成し、 ToDataTableメソッドを使用してワークシートのデータをテーブルに変換します。 次のコードはこのタスクを達成するのに役立ちます。

// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
' Convert the worksheet data to a DataTable.
Dim dt As DataTable = ws.ToDataTable(True)
$vbLabelText   $csharpLabel

CSVデータの読み取りを開始

次に、DataTable インスタンスを使用してすべてのレコードを反復処理します。 データは行と列で受け取られます。 最初に、各列を移動してその値を取得します。 ヘッダ行と一緒にすべてのレコードを取得するには、次のコードスニペットを使用します。

// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
' Iterate over each row in the DataTable.
For Each row As DataRow In dt.Rows
	' Iterate over each column in the current row.
	For i As Integer = 0 To dt.Columns.Count - 1
		' Print each column value in the current row.
		Console.Write(row(i) & "  ")
	Next i
	' Move to the next line after printing all columns of the current row.
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

上記のコードでは、foreach ループを使用して、行のコレクションから単一のレコードを取得します。 次に入れ子のforループの内部で列数を数え、最終的に各行からのデータを画面に出力します。 出力はCSVファイルと同様の形式にフォーマットされます。

C# で CSV ファイルを読み込む方法、図 6: 出力 出力

まとめ

この記事では、IronXLライブラリを使用してC#でCSVリーダーを作成する方法を示しました。 IronXLを使用すると、CSV形式がExcelスプレッドシートにサポートされているため、CSVファイルのロードが簡単になります。 DataTable オブジェクトは、洗練された CSV リーダーを作成し、出力を元のファイルと一致するようにフォーマットするために使用されます。

IronXLはまた、さまざまなファイル形式間の便利な変換を提供し、InteropやMicrosoft ExcelをインストールしなくてもExcelファイルをゼロから作成することができます。 また、C# DataSet および DataTable とも互換性があり、開発者はサードパーティ製アプリケーションに頼ることなく、データの相互変換を柔軟に行うことができます。 その強力な機能により、IronXLはC#開発者にとって、Excelスプレッドシートを操作し、効率的にCSVデータを処理するための貴重なツールとなります。

IronXLは開発のために無料です。 ただし、商用利用の場合は、$799 から始まるライセンスを購入する必要があります。 プロジェクトの製品モードでコンパイル済みの.dllの互換性を試すために無料トライアルも利用できます。

よくある質問

Interopを使用せずにC#でCSVリーダーをどのように作成しますか?

IronXLライブラリを利用することで、Interopを使用せずにC#でCSVリーダーを作成できます。まず、NuGetを介してIronXLをインストールするか、IronXLウェブサイトから.NET Excel DLLをダウンロードします。コードにIronXL名前空間を追加し、WorkBook.LoadCSVメソッドを使用してCSVファイルをロードし、Excelワークブックとして操作できるようにします。

C#でCSV操作にIronXLを使用するメリットは何ですか?

IronXLは、C#でのCSV操作に強力で柔軟なソリューションを提供します。Microsoft ExcelやInteropを必要とせずに、CSVファイルをロード、読み取り、Excel形式に変換することができ、Linux、MacOS、Azure、AWSなどの様々なプラットフォームと互換性があります。

IronXLを使用してCSVデータをExcel形式にどのように変換しますか?

IronXLを使用してCSVデータをExcel形式に変換するには、WorkBook.LoadCSVメソッドでCSVファイルをロードし、その後、指定したExcel形式(例えばXLSX)でWorkBook.SaveAsメソッドを使用して保存します。

IronXLを使用してC#でCSVデータをDataTableに読み込むことは可能ですか?

はい、 IronXLを使って C# で CSV データをDataTableに読み込むことができます。CSV をワークブックとして読み込み、デフォルトのワークシートにアクセスし、 Range.ToDataTableメソッドを使ってワークシートのデータをDataTableに変換すれば、簡単に操作や反復処理を行うことができます。

IronXLライブラリはどのプラットフォームと互換性がありますか?

IronXLライブラリは、Windows、Linux、MacOS、Azure、Docker、AWSなどの複数のプラットフォームと互換性があります。このクロスプラットフォームサポートにより、さまざまな環境で作業する開発者にとって多用途な選択肢となります。

IronXLは商用プロジェクトで使用できますか?

はい、IronXLは商用プロジェクトで使用できます。開発とテストのための無料トライアルを提供していますが、商用利用には商用ライセンスが必要です。このライセンスは、全機能とサポートへのアクセスを提供します。

IronXLはC#アプリケーションでのCSVデータ操作をどのように強化しますか?

IronXLはC#アプリケーションでのCSVデータ操作を強化し、Microsoft Excelに依存せずにCSVファイルを読み込んで編集できるようにします。CSVとExcel形式の変換を行うためのメソッドを提供しており、データ処理をより柔軟かつ効率的にします。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね