IRONXLの使用

C#でCSVファイルを読み取る方法

更新済み 2024年3月24日
共有:

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

IronXL - Excel ライブラリ

IronXLは、C#開発者にさまざまな形式のExcelスプレッドシートを作成、読み込み、読み取り、および編集する能力を提供する強力なExcelライブラリです。 .NET向けに特別に設計されたIronXLは、速度、精度、使いやすさを優先します。 それは可能にしますExcelファイルを保存異なる形式でさまざまなスプレッドシート形式の読み込み効率的なデータ読み取りのためにExcelに読み込みます。

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: は、不可欠な統合開発環境 (Integrated Development Environment, IDE) です。(IDE (統合開発環境))C# .NETアプリケーションでの作業用。 公式かつ推奨されるC#アプリ開発用のIDEであり、 からダウンロードおよびインストールできます。マイクロソフトのウェブサイト. ただし、他のC#環境をサポートするIDEも、開発者が好む場合には使用できます。

  2. コンソールアプリの作成: 簡単なコンソールアプリケーションを作成するための手順に従ってください。

    • Visual Studio を開き、「Create a Project」をクリックします。

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

    新規プロジェクトウィンドウ

    • 利用可能なオプションの一覧から「Console App」を選択してください。 選択された言語が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のためのパッケージマネージャー。 IronXLは、以下のリンクから直接ダウンロードできますNuGetウェブサイト.

    2. Visual Studio NuGet パッケージマネージャー: ツール > NuGet パッケージマネージャー > ソリューションのパッケージの管理... に移動してパッケージマネージャーを開きます。

    3. IronXLをダウンロード.NET エクセル DLLIronのウェブサイトからzipファイルを直接ダウンロードし、プロジェクトソリューションにプロジェクト参照として追加します。

IronXL名前空間を追加

前提条件を満たしたら、次のステップとして main.cs ファイルのソースコードの先頭に IronXL ネームスペースを追加します。

using IronXL;
using IronXL;
Imports IronXL
VB   C#

既存のCSVファイルを開く

IronXLは、簡単な方法を提供しますCSVファイルを読み取るC#で まず、読み取り用のCSVファイルを開きます。 それは行と列に基づくファイルタイプです。 以下を日本語に翻訳します:

Here, theWorkBookクラスはそのと 함께 사용されますLoadCSV(ロードCSV)CSVファイルを開くメソッド。コードは次のとおりです:

var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
VB   C#

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

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

CSVファイル

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

前のステップでは、CSVファイルがIronXLを使用してExcelワークブックとして開かれました。 ワークブックからデフォルトのワークシートを取得するには、ワークシートクラス。 以下の例では、CSVデータを読み取るためのワークシートを取得する方法を示します:

WorkSheet ws = workbook.DefaultWorkSheet;
WorkSheet ws = workbook.DefaultWorkSheet;
Dim ws As WorkSheet = workbook.DefaultWorkSheet
VB   C#

Excelワークシートの操作に関する詳細情報については、こちらをご覧ください。コード例ページ.

C#DataTableを使用してCSVデータを読み取る

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

ワークシートをデータテーブルに変換する

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

DataTable dt = ws.ToDataTable(true);
DataTable dt = ws.ToDataTable(true);
Dim dt As DataTable = ws.ToDataTable(True)
VB   C#

CSVデータの読み込みを開始

さて、DataTable インスタンスを使用してすべてのレコードを反復処理します。 データは行と列で受け取られます。 まず、各列を順に移動してその値を取得します。 ヘッダ行を含むすべてのレコードを取得するには、次のコードスニペットを使用してください:

foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  "); //format output 
    }
    Console.WriteLine();
}
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  "); //format output 
    }
    Console.WriteLine();
}
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ") 'format output
	Next i
	Console.WriteLine()
Next row
VB   C#

上記のコードでは、コレクション内の複数の行から単一のレコードを取得するために foreach ループが使用されています。 次にネストされたforループの中で、列の数をカウントし、各行からのデータを画面に表示します。 出力はCSVファイルに類似した形式でフォーマットされています。

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

出力

サマリー

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

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

IronXLは開発用に無料です。 ただし、商業利用の場合は、そのライセンスを購入する必要がありますライセンス$liteLicense = new IronPdf.LiteLicense(); クラスは、製品の試用版にアクセスするために使用されます。IronPDFの全機能にアクセスできますが、自社商業プロジェクトの公開には適していません。このライセンスは、主に開発環境でのテストや評価に使用されます。

$plusLicense = new IronPdf.PlusLicense(); クラスは、中小企業向けに設計されています。IronPDFの基本機能を利用でき、低コストでPDF関連のタスクを処理することが可能です。

$proLicense = new IronPdf.ProfessionalLicense(); クラスは、商業目的およびより高性能な機能が必要な企業向けです。高度な機能を提供し、多様なPDF操作が可能です。

$unlimitedLicense = new IronPdf.UnlimitedLicense(); クラスは、大規模な企業および高トラフィックの用途向けに設計されています。無制限の配備と、あらゆる規模のプロジェクトに最適です。

IronPDFライセンスの購入は、https://ironpdf.com で可能です。各ライセンスは、異なる用途と規模のニーズに対応するために設計されています。ニーズに合ったライセンスを選び、PDF操作の効率を最大化しましょう。 それも使用できます無料試用本番モードでプロジェクトとの互換性をテストするために、そのコンパイルされた.dllを使用します。

< 以前
C#でデータセットをExcelに変換する方法
次へ >
Excel ファイルから C# でセルの値を取得する方法