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

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

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

IronXL - Excelライブラリ

IronXLは強力なExcelライブラリであり、C#開発者にさまざまな形式のExcelスプレッドシートを作成、読み込み、編集する能力を提供します。 .NET専用に設計されたIronXLは、速度、精度、使いやすさを優先しています。 It allows for saving Excel files in different formats and loading various spreadsheet formats into Excel for efficient data reading.

IronXLは、CSV、TSV、XLS、XLSX、XSLT、XLSMなど、さまざまなファイル拡張子のExcelワークブック形式をサポートしています。 最新バージョンの.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が長期サポートを提供しているより安定したバージョンの.NET 6.0を選択できます。 特定の要件に基づいて適切なバージョンを選ぶことが重要です。
  3. IronXL - これは、Excelスプレッドシートと連携するように設計された.NET Excelライブラリです。 使用する前にC#アプリケーションにインストールする必要があります。 パッケージをダウンロードしてインストールする方法は次のとおりです。
    1. NuGet - .NETのパッケージマネージャ。 NuGetウェブサイトからIronXLを直接ダウンロードできます。
    2. Visual Studio NuGet Package Manager: ツール > NuGetパッケージマネージャー > ソリューションのパッケージの管理...を使用して
    3. IronXL .NET Excel DLL zipファイルを直接Ironウェブサイトからダウンロードし、プロジェクトリファレンスとしてプロジェクトソリューションに追加します。

IronXL名前空間の追加

必要条件を満たしたら、次のステップとしてmain.csファイル内のソースコードの上部にIronXL名前空間を追加します。

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

既存のCSVファイルを開く

IronXLは、C#でCSVファイルを読むための簡単な方法を提供します。 最初に、読み取るためにCSVファイルを開きます。 これは行と列に基づくファイル形式です。 Here, the WorkBook class is used along with its LoadCSV method to open a CSV file. The code is as follows:

// 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#のDataSetDataTableとも互換性があり、サードパーティのアプリケーションに依存せずにデータを容易に相互変換できる柔軟性を開発者に提供します。 その強力な機能により、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に読み込むことは可能ですか?

{"30":"\u306f\u3044\u3001IronXL\u3092\u4f7f\u7528\u3057\u3066C#\u3067DataTable<\/code>\u306bCSV\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002CSV\u3092\u30ef\u30fc\u30af\u30d6\u30c3\u30af\u3068\u3057\u3066\u8aad\u307f\u8fbc\u307f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ef\u30fc\u30af\u30b7\u30fc\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3001Range.ToDataTable<\/code>\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30ef\u30fc\u30af\u30b7\u30fc\u30c8\u30c7\u30fc\u30bf\u3092DataTable<\/code>\u306b\u5909\u63db\u3057\u3001\u7c21\u5358\u306a\u64cd\u4f5c\u3084\u53cd\u5fa9\u3092\u884c\u3048\u307e\u3059\u3002<\/S>"}

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

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

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

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

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

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

Curtis Chau
テクニカルライター

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

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