IRONSOFTWAREHOME
IRONXLの使用

IronXLで.NET Core CSV リーダーを使用する方法: 実例

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

.NET Core アプリケーションでの CSV ファイル操作の処理は、データのインポートおよびエクスポート操作において一般的な要件です。 しかし、開発者はCSVファイルの内容を効率的に解析しようとする際に、異なる区切り文字、データ型の変換、パフォーマンスの問題など、様々な課題に直面することがよくあります。 CSV解析のためのライブラリとしてCsvHelperパッケージやTextFieldParserなどが存在するが、それらすべてが強力な例外処理機能を備えたExcelとの相互運用性を提供しているわけではない。 IronXLは、CSVとExcelの両方の形式に対応し、大規模なバッチ処理シナリオにおいて優れたパフォーマンスを発揮する、実績のあるCSVパーサーソリューションです。 このチュートリアルでは、.NET Core CSVリーダーとしてIronXLを効果的に使用する方法を、アプリケーションの応答性を向上させるための非同期操作など、CSVデータを効率的に解析するための実践的でわかりやすい例で説明します。 オープンソースのCSVユーティリティの改善に貢献したり、プルリクエストを提出する開発者も、IronXLの明確なAPIを貴重な参考資料として見つけることでしょう。特に、繰り返し値を含むデータセットの管理や、データインポートプロセス中のデータ検証が必要な場合に役立ちます。

.NETエコシステムには、EPPlus、NPOI、OpenXMLなどの代替手段を含め、CSVファイル操作を扱うパッケージがいくつか存在しますが、IronXLはその汎用性の高さから、単純なCSV読み込みにとどまらず、単一のCSVライブラリ内でExcelとの相互運用性を実現したい開発者にとって最適な選択肢となっています。特に、EnterpriseアプリケーションにおけるETL操作やレポート生成タスクにおいて、その真価を発揮します。 適切なパーサーの選択は、個々の要件によって異なります。そのため、このガイドでは、実際の事例を通して、情報に基づいた意思決定ができ​​るよう解説します。

.NET Core CSV リーダー、IronXL の実用的な使用例: 画像 1 - IronXL

IronXLを.NET CoreCSVリーダーとして選ぶ理由とは?

.NET CoreのCSVリーダーを選択する際、 IronXLは従来のCSV解析ライブラリに比べていくつかの魅力的な利点を提供します。 IronXLは、.NET Coreの最新アーキテクチャと統合しながら、 .NET Frameworkプロジェクトとの下位互換性を維持しています。 このソリューションは、開発者がCSVファイル操作を行う際に直面する一般的な問題点を解消します。具体的には、以下のような点が挙げられます。

  • 国際文字セットの自動エンコーディング検出
  • 手動設定なしのインテリジェント デリミタ認識
  • キロバイトからギガバイトに及ぶメモリ効率の高い処理
  • 組み込みデータ型の推論と変換
  • プラットフォーム間のキャリッジリターンとラインフィードの処理
  • CSV データを扱う際にも Excel の数式サポート
  • Windows、Linux、macOSでのクロスプラットフォームの信頼性

複雑な設定や手動による解析ロジックを必要とする基本的なCSVリーダーとは異なり、 IronXLは区切り文字を含む引用符付きフィールド、複数行のセル値、特殊文字などの特殊なケースを自動的に処理します。 このライブラリのアーキテクチャは、遅延読み込みとストリーミング機能によって最適なパフォーマンスを保証するため、小規模な設定ファイルから大規模なデータ処理タスクまで幅広く対応できます。 IronXLは必要に応じてヘッダー行をスキップし、複雑なデータ構造を効率的に分割できます。 IronXLの機能概要で詳細をご覧ください。

レガシーシステムから移行する開発者向けに、IronXL は、学習曲線を減少させる一方で、応答性のあるアプリケーション向けの最新の非同期/await パターンを提供する馴染みのあるAPIを提供しています。 そのため、データ処理インフラを近代化しようとしているチームにとって理想的な選択肢となる。 APIリファレンスと設定オプションについては、 IronXLの完全なドキュメントを参照してください。

CSVファイル読み込み用のIronXLはどのようにインストールするのですか?

IronXLを.NET Coreプロジェクトにインストールするのは、コンソールアプリケーション、 ASP.NET Core Webアプリ、Windowsフォームアプリケーションのいずれを構築する場合でも、わずか数秒で完了します。 .NET Core でCSVファイルを効率的に解析し、CSVデータの読み取りを開始するには、Visual Studio のパッケージ マネージャー コンソールを開いて次を実行します:

PM > Install-Package IronXL.Excel

または.NET CLIを使用します:

dotnet add package IronXL.Excel

.NET Core CSV リーダー、IronXL の実用的な使用例: 画像 2 - インストール

NuGet パッケージ マネージャー UI を使用して "IronXL.Excel" を検索し、インストールをクリックします。 このライブラリは、.NET Coreへの移行時に既存 for .NET Frameworkプロジェクトと統合されます。 IronXLのNuGetページから直接参照することもできます。

インストール後、名前空間をコードに追加します:

using IronXL;

この設定により、Microsoft OfficeやInteropへの依存関係を必要とせずに強力なCSV読み取り機能を利用できるため、クラウド展開やDockerコンテナに最適です。 詳細なインストール手順と設定については、 IronXLのインストールガイドを参照してください。

IronXLのLoadCSVメソッドを使用してCSVファイルを読み込むにはどうすればよいですか?

IronXL は 、LoadCSV メソッドを使用して、CSV ヘッダー、CSV 列、および CSV 行を効率的に処理することで、CSV ファイル処理を簡単に行うことができます。以下の例をご覧ください:

// Load CSV file into a WorkBook object for .NET Core CSV reading
var workbook = WorkBook.LoadCSV("Budget.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ",");
// Access the default worksheet containing parsed CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Read specific cell values with type-safe methods
string cellValue = worksheet["A1"].StringValue;
// Iterate through a range for bulk CSV data processing
foreach (var cell in worksheet["A1:C10"])
{
    Console.WriteLine($"Cell {cell.AddressString}: {cell.Text}");
}

LoadCSV メソッドは 、最適化されたメモリ ストリーム処理を使用して、メモリ内で CSV データ構造を表す WorkBook オブジェクトを作成します。 fileFormat パラメータは処理用の内部フォーマットを指定し、listDelimiter は、タブ区切りファイルやパイプ区切り形式をサポートし、CSV ファイルで使用されるCSV区切り文字を定義します。

入出力

.NET Core CSV リーダー、IronXL の実用的な使用例: 画像 5 - サンプル CSV 入力

システムからエクスポートされたCSVファイルにsep=ライン (時々"sep takes"マーカーと呼ばれる) が含まれている場合、IronXL はこのメタデータをインテリジェントに読み取って正しい区切り文字を自動的に決定します。 この機能は、カンマの代わりにセミコロン、タブ、パイプ記号を使用する可能性のある地域別のCSV形式を処理する際に時間を節約し、文字セットを問わず適切なエンコード処理を保証します。

既定のWorkSheet プロパティは、解析されたCSVデータにすぐにワークシートとしてアクセスでき、セルごとまたは範囲ベースのデータ抽出を可能にします。 型変換を備えた型安全な操作を行うために、IntValue、または DecimalValue のようなプロパティを使用して値を取得できます。 より複雑なデータ操作や変換を行うには、IronXLのセル書式設定オプションと範囲選択機能を活用してください。

CSVデータをC#クラスにマッピングしてデータ検証を行うには?

フィールドマッピングとデータ検証を使用することで、CSVデータをC#オブジェクトに直接マッピングできます。 例えば、名前、年齢、都市の列があるCSVファイルを想像してみてください。 プロパティマッピングを含むモデルを次のように定義します。

public record Customer(string Name, int Age, string City)
{
    public bool IsValid() => !string.IsNullOrEmpty(Name) && Age > 0;
}

// Parse CSV rows into typed objects
var customers = new List<Customer>();
for (int row = 2; row <= worksheet.RowCount; row++)
{
    var customer = new Customer(
        Name: worksheet[$"A{row}"].StringValue,
        Age:  worksheet[$"B{row}"].IntValue,
        City: worksheet[$"C{row}"].StringValue
    );
    if (customer.IsValid())
        customers.Add(customer);
}
// Output the records
foreach (var record in customers)
{
    Console.WriteLine($"Customer: {record.Name}, Age: {record.Age}, City: {record.City}");
}

IronXLを使用すると、ワークシートの各行が型付きオブジェクトにマッピングされ、データ処理、JSONへのシリアル化、または適切な例外処理を伴う別の形式へのエクスポートが可能になります。 この方法を使えば、最小限の定型コードでCSVデータから厳密に型付けされたレコードを作成できます。 より詳しい手順については、 C# で CSV ファイルを読み込む方法に関するガイドを参照してください。

異なる区切り文字をどのように処理してデータテーブルに変換しますか?

実際のCSVファイル形式では、カンマ以外にも様々な区切り文字が使われることが多く、柔軟な対応が求められる。 IronXLは、自動区切り文字検出機能により、これを巧みに処理します。

// Load CSV with semicolon delimiter
WorkBook workbook = WorkBook.LoadCSV("products.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ";");
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert to DataTable for database operations
DataTable dataTable = worksheet.ToDataTable(true);
// Process the DataTable
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"Product: {row["ProductName"]}, Price: {row["Price"]}");
}

ToDataTable メソッドはワークシートデータを .NET DataTable に変換し、ブールパラメータは最初の行を列ヘッダーとして使用するかどうかを示します。 この変換は、特にデータベース操作、ASP.NET Coreアプリケーションでのデータバインディング、または既存のDataTable 処理ロジックを SQL Server 統合に適用する必要があるときに便利です。 得られたDataTable はデータ型とスキーマ情報を維持し、SqlBulkCopyと直接使用して効率的な一括挿入操作を行うことができます。

詳細ガイドでは、 CSVファイルをDataTableにインポートする方法データベースとの統合方法について詳しく説明しています。

データテーブルをCSVファイルにエクスポートするにはどうすればよいですか?

DataTableでデータを処理した後、結果をCSVファイルに書き戻す必要があることがよくあります。 IronXLはこの方向も処理します:

// Load a DataTable from your data source
DataTable exportTable = GetProcessedData(); // your data source method

// Create a new workbook and populate it from the DataTable
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.DefaultWorkSheet;

// Write headers from DataTable columns
for (int col = 0; col < exportTable.Columns.Count; col++)
{
    outputSheet[0, col].Value = exportTable.Columns[col].ColumnName;
}

// Write rows
for (int row = 0; row < exportTable.Rows.Count; row++)
{
    for (int col = 0; col < exportTable.Columns.Count; col++)
    {
        outputSheet[row + 1, col].Value = exportTable.Rows[row][col]?.ToString();
    }
}

// Save as CSV
outputWorkbook.SaveAsCsv("output.csv", delimiter: ",");
Console.WriteLine("Export complete.");

このパターンは、データの読み込み、変換、そして新しいファイルへの書き込みを行うETLパイプラインに最適です。その他のエクスポート形式については、 C# から CSV へのエクスポートチュートリアルDataTable から Excel へのエクスポートガイドを参照してください。

CSV形式とExcel形式の間でデータを変換するにはどうすればよいですか?

IronXLの際立った機能の一つは、CSVからExcelへの変換とExcelからCSVへの変換であり、これはデータ移行プロジェクトに不可欠です。 次の例は、この機能を示しています:

// Load CSV and save as Excel
WorkBook csvWorkbook = WorkBook.LoadCSV("report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ",");
// Save as Excel file
csvWorkbook.SaveAs("report.xlsx");
// Or load Excel and export to CSV
WorkBook excelWorkbook = WorkBook.Load("data.xlsx");
excelWorkbook.SaveAsCsv("exported_data.csv", delimiter: ",");

この双方向の変換はデータの整合性を保持し、さまざまなファイル変換シナリオに対するフォーマットの柔軟性を提供します。 SaveAs メソッドはファイル拡張子から目的の形式を自動的に検出し、XLSX、XLS、その他の Excel 形式をサポートし、ワークシート管理を提供します。 SaveAsCsvを使用してCSVに保存する場合、カスタム区切り文字とテキストエンコーディングを指定して要件に合わせることができます。

この機能は、データ交換用に特定のファイル形式を要求するシステムと統合する際に非常に貴重です。 他のライブラリから移行する開発者や手動パース代替案の評価に関心のある方は、Stack Overflow で議論されている人気の代替案 および .NET コミュニティでのパフォーマンスの考慮事項 を確認してください。 その他のファイル形式変換パターンについては、 Excelスプレッドシート変換ガイドをご覧ください。

メモリ不足の問題なく大容量のCSVファイルを読み込むにはどうすればよいですか?

数百万行にも及ぶような大規模なCSVファイルを処理するには、メモリ管理に細心の注意を払う必要がある。 IronXLは内部的に遅延読み込みを採用しており、ワークシートの行は一度にすべて読み込まれるのではなく、必要に応じて読み込まれます。 大規模なデータセットを反復処理する際のメモリ使用量を抑えるには、行をバッチ処理します。

WorkBook workbook = WorkBook.LoadCSV("large-dataset.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ",");
WorkSheet worksheet = workbook.DefaultWorkSheet;

int batchSize = 1000;
int totalRows = worksheet.RowCount;

for (int start = 1; start <= totalRows; start += batchSize)
{
    int end = Math.Min(start + batchSize - 1, totalRows);
    for (int row = start; row <= end; row++)
    {
        string id   = worksheet[$"A{row}"].StringValue;
        string name = worksheet[$"B{row}"].StringValue;
        // Process each record here
        Console.WriteLine($"Row {row}: {id} - {name}");
    }
    Console.WriteLine($"Processed batch {start}-{end}");
}

この手法により、ヒープ割り当ての予測可能性が維持され、大規模データセットにおけるメモリ不足エラーを回避できます。 エクスポート時にも同じ手順が適用されます。行を段階的に書き込み、最後に一度だけ保存します。 さらに詳しいヒントについては、ファイルサイズ制限ガイドを参照してください。

エンタープライズ CSV 処理のために IronXL が提供する高度な機能とは何ですか?

IronXLは、単体テストのサポートやデバッグツールなど、基本的なCSVパーサーとは一線を画すエンタープライズグレードの機能を提供します。 このライブラリは、Windows、Linux、macOS、およびDockerコンテナ上で動作するクロスプラットフォーム互換性を提供します。これは、最新 for .NET Coreデプロイメントやマイクロサービスアーキテクチャにとって不可欠です。 Microsoft のドキュメント によれば、クロスプラットフォームサポートはクラウドネイティブ アプリケーションおよび Azure デプロイメントにおいて重要です。

技術的な機能を超えて、IronXL にはすべてのライセンスにプロフェッショナルサポートと定期的な更新が含まれており、最新の .NET バージョンおよびセキュリティ修正との互換性を保証します。 この商業的サポートにより、オープンソースのライブラリが実稼働環境で不足する可能性のある重要なアプリケーションの信頼性が保証されます。 このライブラリは、最適化されたメモリ管理により大規模なデータセットを効率的に処理し、次のような高度なシナリオをサポートします。

IronXL高度な機能の概要
特徴翻訳内容使用事例
数式計算CSVデータをインポートした後、Excelの数式を評価する財務報告、集計
セルフォーマットの保持変換時に数値形式と日付スタイルを保持する会計データのエクスポート、日付指定データ
複数シートのワークブック操作複数のCSVファイルを名前付きシートを持つ1つのワークブックに結合する月次報告書の統合
データの集計範囲全体にわたる合計、平均、件数ダッシュボード生成、KPI計算
範囲ソート行を1つ以上の列で並べ替えるランキング形式の出力、アルファベット順の輸出

拡張性と負荷分散が求められる本番環境への導入において、IronXLのライセンスモデルは、単一プロジェクト、チーム、企業全体での利用など、柔軟なオプションを提供します。これらのオプションにはすべて、ソースコードへのアクセスとロイヤリティフリーの再配布権が含まれています。 ライセンスを購入すれば、ウォーターマークなしで全ての機能を利用できます。

ライセンスキーの適用方法を教えてください

購入後、 IronXLのメソッドを呼び出す前にライセンスキーを適用してください。

// Apply license key at application startup
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Then proceed with CSV reading as normal
WorkBook workbook = WorkBook.LoadCSV("data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ",");
WorkSheet worksheet = workbook.DefaultWorkSheet;
Console.WriteLine($"Loaded {worksheet.RowCount} rows from CSV.");

ライセンスキーの割り当ては、Program.cs に通常あるアプリケーションの最初のエントリポイントで行い、その後のすべての呼び出しが完全にライセンスされるようにしてください。 詳しい手順については、 IronXLライセンスキーガイドを参照してください。

無料トライアルを始めるにはどうすればいいですか?

IronXLは、.NET CoreアプリケーションでのCSVの読み書きを簡素化すると同時に、データ分析、レポート作成、自動化タスクなどの複雑なシナリオを処理する柔軟性を提供します。 直感的なAPIに加え、Excel形式のサポートやEnterprise機能も備えているため、スレッドセーフティと同時アクセスサポートを備えた実績のあるCSV処理機能を必要とする開発者にとって、信頼できる選択肢となります。 このライブラリは、フォーマット間の変換、様々な区切り文字の処理、データクレンジングの実行、既存 for .NETデータ構造との統合といった機能を備えているため、コードの保守性を維持しながら開発時間を大幅に短縮できます。

CSVファイルの処理を開始する準備はできましたか? 今すぐIronXLの無料トライアル版をダウンロードして、プロ仕様のCSV解析機能でデータ処理ワークフローがどのように変革されるかを体験してください。 実運用環境での使用には、 .NETプロジェクト向けのProfessionalサポート、ドキュメント、継続的なアップデートを含むライセンスオプションを検討してください。

さらに詳しく知りたい場合は、以下の資料をご参照ください。

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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。