IRONSOFTWAREHOME
IRONXLの使用

How to Import CSV To Datatable in C#

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

この初心者向けチュートリアルでは、DataTable に CSV(カンマ区切り値)ファイルを C# で IronXL を使用してインポートする方法を紹介します。 このガイドでは、C# に不慣れな方でも、このプロセスを簡単に理解できるように、分かりやすいアプローチを提供します。 環境のセットアップからソースコードの記述に至るまで、すべてのステップをカバーします。 このチュートリアルの終わりには、CSV データを DataTable に変換する方法、DataTable の列を管理する方法、および C# を使用して CSV ドキュメントのさまざまな側面を処理する方法について明確に理解できるようになります。

前提条件

その前に、以下が準備されていることを確認してください。

  • C# の基本知識
  • ローカルコンピュータに Visual Studio がインストールされていること
  • NuGet パッケージマネージャーから入手できる IronXL ライブラリ

基本を理解する

CSV ファイルとは何ですか?

CSV ファイル(カンマ区切り値ファイル)は、特定の構造を用いて表形式のデータを整理するタイプのプレーンテキストファイルです。 CSV はシンプルでコンパクトであり、様々なプラットフォームで動作可能なので、データ交換の一般的な形式です。 CSV ファイルでは、データはカンマで区切られ、新しい行は新しい行を意味し、列ヘッダーは通常、最初の行にあります。

Understanding DataTables in C#

DataTable は C# の ADO.NET ライブラリの一部で、メモリ上のデータを表す単一のテーブルを表します。 これは、行と列から成り立ち、それぞれの列は異なるデータ型を持つことができます。 DataTables は非常に柔軟性があり、構造化された形式でデータを表すことができ、CSV ファイルデータの処理に最適です。

プロジェクトのセットアップ

ステップ1:新しいC#プロジェクトを作成

  1. Visual Studioを開きます。
  2. ファイル > 新規作成 > プロジェクト を選択します。
  3. C# コンソールまたは Windows フォーム アプリケーションを選択し、適切に名前を付けます。

手順 2: IronXL をインストールする

IronXL は、C# で Excel および CSV ファイルを扱うことができる強力なライブラリです。 使用するには、NuGet パッケージ マネージャーを介してインストールする必要があります。 Visual Studioで:

  1. ツール > NuGet パッケージ マネージャー > ソリューションの Nuge パッケージの管理 に移動します。

  2. IronXL.Excel を検索します。

    CSVをDatatableにインポートする方法 C#: 図 1 - IronXL

  3. パッケージをプロジェクトにインストールします。

IronXL を使用した CSV ファイルの DataTables への読み込み

手順 1: 環境のセッティング

using IronXL;
using System.Data;

これらの using ステートメントは、タスクに必要な名前空間を含みます。

手順 2: CSV をインポートするメソッドを作成する

CsvToDataTable クラスを定義し、ImportCsvToDataTable という静的メソッドを持つ。 このメソッドは、CSV ファイルを DataTable に変換する責任を持ちます。

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Code snippet to import CSV will be placed here
        return null; // Placeholder return statement
    }
}

手順 3: CSV ファイルを読み込む

ImportCsvToDataTable メソッド内で、CSV ファイルの読み込みを開始します。IronXL はこれを行うための簡単な方法を提供します。

// Load the CSV file
WorkBook workbook = WorkBook.LoadCSV(filePath);

WorkBook.LoadCSV は、CSV ファイルを読み込むための IronXL のメソッドです。 ここで、filePath は CSV ファイルへのパスです。

手順 4: CSV を DataTable に変換

読み込んだ CSV データを DataTable に変換します。 このステップは、データを C# アプリケーション内で簡単に操作し表示できる形式に変換するために重要です。

// Get the first worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
// Convert CSV worksheet to DataTable
DataTable dataTable = sheet.ToDataTable();
return dataTable;

このスニペットは CSV データを DataTable に変換します。 DefaultWorkSheet は、ブックから最初のワークシートを取得します。CSV ファイルの場合、これは CSV データ全体と同等です。ToDataTable メソッドは、CSV データを効率的に DataTable 構造にマップする IronXL の強力な機能であり、CSV ファイルの最初の行に列ヘッダー行が含まれている場合も、これを含みます。

ステップ 5: メソッドをアプリケーションで使用する

今、アプリケーションで ImportCsvToDataTable メソッドを使用してください。 たとえば、このメソッドをアプリケーションの起動時や、ユーザーが CSV ファイルをアップロードした際に呼び出すことができます。

// Usage
string csvFilePath = "csvfile.csv";
DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath);

このコードスニペットは、ImportCsvToDataTable メソッドを呼び出す方法を示しています。 実際の CSV ファイルのファイルパスに "csvfile.csv" を置き換えてください。

ステップ 6: 出力 DataTable の利用

一度 DataTable を取得すれば、ユーザーインターフェースにデータを表示したり、フィルタリングしたり、データを処理したりするさまざまな操作を実行できます。 以下にいくつかの例を示します。

コンソールアプリケーションでデータを表示する

foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item} ");
    }
    Console.WriteLine();
}

このコードは、DataTable 内の各行と列を反復し、データをコンソールに表示します。

データのフィルタリング

LINQ を使用して DataTable のデータをフィルタリングすることができます。 たとえば、特定の列が特定の条件を満たす行を選択したい場合:

var filteredRows = dataTable.AsEnumerable()
                            .Where(row => row.Field<string>("ColumnName") == "SomeValue");

"ColumnName""SomeValue" をフィルター条件に合わせて置き換えてください。

完全なコードスニペット

ここでは、プロジェクトで使用できる完全なソースコードを示します。

using IronXL;
using System;
using System.Data;
using System.IO;

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Check if the file exists
        if (!File.Exists(filePath))
        {
            throw new FileNotFoundException($"The file at {filePath} was not found.");
        }

        // Load the CSV file
        WorkBook workbook = WorkBook.LoadCSV(filePath);
        // Get the first worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;
        // Convert the worksheet to DataTable
        DataTable dataTable = sheet.ToDataTable();
        return dataTable;
    }
}

class Program
{
    static void Main(string[] args)
    {
        // Usage
        try
        {
            string filePath = "sample_data.csv"; // CSV file path
            DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(filePath);
            foreach (DataRow row in dataTable.Rows)
            {
                foreach (var item in row.ItemArray)
                {
                    Console.Write($"{item} ");
                }
                Console.WriteLine();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

このコードをProgram.csファイルで使用することができます。 実稼働環境で作業する場合は、IronXLのライセンスを追加するのを忘れないでください。

コードの出力

コードを実行すると、CSV ファイルがロードされ、そのデータが DataTable にインポートされます。 その後、コンソールで DataTable 列の内容が表示されます。 データが正しく DataTable にインポートされたことを確認するのに役立ちます。

CSVをDatatableにインポートする方法 C#: 図 2 - 出力

さまざまなシナリオの処理

現実のシナリオでは、CSV ファイルは形式や構造において大きく異なることがあります。 これらの変動に対応することにより、アプリケーションを強化し多用途にすることが重要です。IronXL を使用して CSV データを DataTable にインポートする際に、さまざまなシナリオを管理する方法を検討してみましょう。

異なる区切り文字の処理

CSV ファイルのデフォルトの区切り文字はカンマです。 しかし、CSV ファイルが常にカンマで値を区切るとは限りません。 時には、セミコロン、タブ、または他の文字が区切り文字として使用されることがあります。 これを IronXL で処理するには:

カスタム区切り文字の指定: CSV ファイルを読み込む前に、ファイルの区切り文字を指定することができます。 たとえば、ファイルがセミコロン (;) を使用している場合、次のように設定することができます。

WorkBook workbook = WorkBook.LoadCSV(filePath, listDelimiter: ";");

大規模な CSV ファイルの処理

大規模な CSV ファイルを扱う際には、メモリの使用量とパフォーマンスを考慮することが重要です。 IronXL は、ファイル全体を一度にメモリにロードせずに、効率的に大規模なファイルを処理するための方法を提供しています。 ファイルをチャンク単位で読み込む、または IronXL が提供するストリーミング API を利用してメモリ使用量を効果的に管理することができます。

結論

IronXL を使用して C# で CSV データを DataTable にインポートするのは簡単です。 それはアプリケーションのデータ操作機能を強化し、CSV ファイルを効率的に処理することができます。 このチュートリアルで紹介した手順を用いることで、初心者でも簡単にこの機能を C# プロジェクトに統合できます。

IronXL は、その機能を探求するための無料トライアルを提供しています。 より高度な機能とサポートを求める場合、ライセンスオプションも利用可能です。

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。