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

ファイルを読み書きするためのC# CSVライブラリの使用法

C#でCSVファイルを扱うことは、単純な読み書きだけにとどまりません。 開発者は信頼できるCSVファイル処理、スムーズなデータインポート/エクスポート、スプレッドシートワークフローとの簡単な統合を必要としています。 CsvHelperのような無料のライブラリは基本的なCSV操作には対応していますが、Excelワークブックのサポートや高性能、行や列、データタイプの一貫した処理が必要な場合には十分でないことがあります。

IronXLは、Microsoft Officeを必要とせずにCSVとExcelフォーマットをシームレスに処理できる単一の.NETライブラリを提供することで、これらの課題を解決します。これは、CSVの読み書き、カスタムクラスオブジェクトのマッピング、コンマ区切りの値とExcel間の変換のための強力な機能を提供します。 デスクトップおよびWebアプリケーションどちらにも適した高性能かつ低メモリのワークフローです。

IronXLの使い方を始めるには?

NuGetパッケージマネージャーを通じて、IronXLのインストールは数秒で完了します。 Visual Studioのパッケージマネージャーコンソールを開いて、実行してください:

Install-Package IronXL.Excel

インストール後、C#ファイルにIronXL名前空間を追加します:

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

IronXLはWindows、Linux、macOSの環境で動作し、.NET Framework 4.6.2+と.NET Core/5/6/7/8+をサポートしています。 ライブラリはMicrosoft Officeの依存性なしに独立して動作するため、サーバー展開やクラウドアプリケーションに理想的です。 詳しいセットアップ手順については、IronXLインストールガイドを参照してください。

IronXLでCSVファイルを読む方法とは?

IronXLは簡単にCSVファイルの読取りをサポートしており、全プロセスが直感的なパターンに従います。 ライブラリはエンコーディング検出や区切り記号の識別など、開発者がCSVデータを解析する際によく直面する一般的な課題を自動的に処理します:

// Load a CSV file into a WorkBook
WorkBook workBook = WorkBook.Load("sales_data.csv");
// Access the imported worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Read specific cell values
string customerName = workSheet["A2"].StringValue;
decimal orderAmount = workSheet["B2"].DecimalValue;
// iterating from row 1 to skip the header row
for (int i = 1; i < workSheet.Rows.Count(); i++)
{
    var row = workSheet.Rows[i];
    Console.WriteLine($"Customer: {row.Columns[0].Value}, Amount: {row.Columns[1].Value}");
}
// Load a CSV file into a WorkBook
WorkBook workBook = WorkBook.Load("sales_data.csv");
// Access the imported worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Read specific cell values
string customerName = workSheet["A2"].StringValue;
decimal orderAmount = workSheet["B2"].DecimalValue;
// iterating from row 1 to skip the header row
for (int i = 1; i < workSheet.Rows.Count(); i++)
{
    var row = workSheet.Rows[i];
    Console.WriteLine($"Customer: {row.Columns[0].Value}, Amount: {row.Columns[1].Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードはCSVファイルをWorkBookオブジェクトにロードし、完全なスプレッドシート機能を提供します。 DefaultWorkSheetプロパティはCSVデータへの即時アクセスを提供します。 個別のセルは「A2」のような馴染みのあるExcelの記法でアクセスでき、組み込みの型変換メソッド(StringValue、DecimalValue、IntValue)が正しいデータ処理を保証します。 forループは行を反復する例を示し、各行をセルの集まりとして扱っています。 ループはヘッダー行として最初の行を自動的にスキップします; ただし、ヘッダーを出力の一部として保持したい場合は、以下を使用してください:

foreach (var row in workSheet.Rows)
{
    Console.WriteLine($"{row.Columns[0].Value}, {row.Columns[1].Value}");
}
foreach (var row in workSheet.Rows)
{
    Console.WriteLine($"{row.Columns[0].Value}, {row.Columns[1].Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

より複雑なシナリオについては、完全な読み取りチュートリアルを探してみてください。

出力

CSVライブラリの使用法:図1 - CSVファイル出力を読む

より進んだシナリオについては、開発者は各行を反復してCSV行をカスタムクラスオブジェクトにマッピングし、セルの値をオブジェクトのプロパティに割り当てることができます。 このアプローチはC#で構造化データを扱うためのクリーンな方法を提供します。

CSVファイルをC#で書く方法とは?

IronXLを使ったCSVファイルの作成は、新しいスプレッドシートを構築することから既存のデータ構造を変換するものまで多くのアプローチをサポートしています。 この柔軟性はデータエクスポートシナリオに最適です:

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("inventory");
// Add header row
workSheet["A1"].Value = "Product";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Price";
// Add data rows
workSheet["A2"].Value = "Widget";
workSheet["B2"].Value = 100;
workSheet["C2"].Value = 19.99;
// Save as CSV
workBook.SaveAsCsv("inventory.csv");
// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("inventory");
// Add header row
workSheet["A1"].Value = "Product";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Price";
// Add data rows
workSheet["A2"].Value = "Widget";
workSheet["B2"].Value = 100;
workSheet["C2"].Value = 19.99;
// Save as CSV
workBook.SaveAsCsv("inventory.csv");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この例では、最初から新しいワークブックを作成し、データを入力します。 SaveAsCsv()メソッドはワークシートをCSV形式にエクスポートし、適切なフォーマットと区切り文字を自動的に処理します。 IronXLはエクスポート中にデータタイプを保持し、数値が文字列に変換されることなく数字のままであることを保証します。 SaveAsCsvメソッドは、必要に応じてカスタム区切り記号をサポートします。

出力

CSVライブラリの使用法:図2 - IronXLを使って新しく生成されたCSVファイル

既存のデータに対して、IronXLはDataTablesを直接変換できます:

DataTable dataTable = GetDataFromDatabase();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("export");
workSheet.InsertDataTable(dataTable, "A1");
workBook.SaveAsCsv("export.csv");
DataTable dataTable = GetDataFromDatabase();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("export");
workSheet.InsertDataTable(dataTable, "A1");
workBook.SaveAsCsv("export.csv");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronXLはCSVとExcelフォーマット間の変換ができるか?

IronXLの際立つ機能は、CSVとExcelフォーマット間のシームレスな変換です。 この能力は、異なるファイルタイプを扱う際に別のライブラリが不要になり、開発者がよく話題にする共通の要件を満たします:

// Convert CSV to Excel
WorkBook csvWorkBook = WorkBook.Load("data.csv");
csvWorkBook.SaveAs("data.xlsx");
// Convert Excel to CSV
WorkBook xlsxWorkBook = WorkBook.Load("report.xlsx");
xlsxWorkBook.SaveAsCsv("report.csv");
// Convert CSV to Excel
WorkBook csvWorkBook = WorkBook.Load("data.csv");
csvWorkBook.SaveAs("data.xlsx");
// Convert Excel to CSV
WorkBook xlsxWorkBook = WorkBook.Load("report.xlsx");
xlsxWorkBook.SaveAsCsv("report.csv");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらの変換は、数値型、日付、場合によっては数式など、データの完全性を保持します。 複数シートのExcelファイルをCSVに変換する場合、IronXLは各ワークシートごとに個別のCSVファイルを作成します:

WorkBook multiSheetWorkBook = WorkBook.Load("multi_sheet.xlsx");
multiSheetWorkBook.SaveAsCsv("output.csv");
// Creates: output.Sheet1.csv, output.Sheet2.csv, etc.
WorkBook multiSheetWorkBook = WorkBook.Load("multi_sheet.xlsx");
multiSheetWorkBook.SaveAsCsv("output.csv");
// Creates: output.Sheet1.csv, output.Sheet2.csv, etc.
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

変換プロセスは、複雑なExcel機能を優雅に処理します。 数式はその値に評価され、可能な限りフォーマットが保持され、データ検証ルールはExcel形式で保持されます。 ドキュメント内のExcelからCSVへの変換についてさらに学んでください。

CSVライブラリの使用法:図3 - 複数ページのExcelファイルが別々のCSVファイルとして保存された状態

そして、これらのCSVファイルの1つが元の.xlsxファイルに対してどのように機能するかを見るために、結果を見てみましょう。メモ帳とExcelで見た場合のCustomersファイル:

CSVライブラリの使用法:図4 - 元のExcelフォーマットファイルと変換されたCSVファイル

今IronXLを始めましょう。
green arrow pointer

CSVファイル処理にIronXLを選ぶ理由は?

C# CSVライブラリを検討する際、開発者は使いやすさ、機能の包括性、長期的なサポートといった要素を考慮します。 IronXLはこれらのニーズに包括的に対応します:

CSVライブラリの使用法:図5 - IronXL 対 csv専用ライブラリの比較表

基本的なCSV操作に加えて、IronXLはパスワード保護されたファイル処理、セルスタイリングの保存、数式計算といった企業向け機能を提供します。 統一されたAPIは、開発者がすべてのスプレッドシートニーズのために1つのライブラリを学ぶだけで済み、複数のファイル形式を扱うプロジェクトの複雑さを減少させます。

クロスプラットフォーム互換性により、開発とプロダクション環境で一貫した動作を保証します。 ライブラリのマネージドコードアプローチはプラットフォーム固有の依存関係を排除し、展開とメンテナンスを簡素化します。 詳細な機能比較については、IronXL機能ページを参照してください。

結論

IronXLはCSVファイルの読取りと書き込み、ExcelとCSVの間の変換、高度なスプレッドシート機能の処理の全ワークフローを合理化します。 単なるCSVライブラリ以上に、.NET開発者向けの完全なスプレッドシートツールセットです。

クリーンなAPI、包括的なサポート、企業レベルのテストを組み合わせることで、IronXLは開発者がバグの追跡、アドホックなプルリクエストでのパッチ当て、または細分化されたオープンソースパッケージへの依存を避けるのを助けます。

プロジェクトに信頼性の高い高性能なスプレッドシート機能が必要な場合、IronXLが最適な選択です。ファイルを管理し、データを処理し、スケーラブルなソリューションを構築するのに必要なすべてを、プロフェッショナルな安定性と使いやすさで提供します。

CSVとExcel処理を簡素化する準備はできましたか? 無料トライアルを開始し、$liteLicenseから始めると、プロフェッショナルサポートと継続的な更新が含まれています。

よくある質問

IronXLとは何か、そしてC#でのCSVファイルにどのように役立つか?

IronXLは、開発者がCSVファイルをシームレスに読み書きおよび変換できる強力なC#ライブラリです。Excelワークブックの拡張サポートを提供し、行、列、データ型の一貫した処理と高いパフォーマンスを確保します。

なぜ無料のライブラリであるCsvHelperを使用する代わりにIronXLを使用するのですか?

CsvHelperは基本的なCSV操作には適していますが、IronXLはExcelワークブックのサポート、パフォーマンスの強化、堅牢なデータ型の処理などの機能で優れており、より複雑なスプレッドシートワークフローに適しています。

IronXLはCSVとExcelフォーマットの両方を処理できますか?

はい、IronXLはCSVとExcelのフォーマットを効率的に処理するよう設計されており、両者間の変換を容易に行います。

IronXLはハイパフォーマンスのデータ処理をサポートしていますか?

IronXLはハイパフォーマンスで構築されており、データのインポートとエクスポートプロセスをスムーズに、最適化された速度と効率で行います。

IronXLを既存のスプレッドシートワークフローと統合することは可能ですか?

もちろん、IronXLは既存のスプレッドシートワークフローとシームレスに統合し、CSVおよびExcelフォーマット間のデータ管理の機能を強化します。

IronXLはどのようにして複雑なCSVファイル操作に適しているのですか?

IronXLは、行、列、およびデータ型の一貫した処理のような堅牢な機能を提供し、基本的な処理以上を必要とする複雑なCSVファイル操作に最適です。

IronXLを使用してCSVファイルをExcelに変換することはできますか?

はい、IronXLの主要な機能の1つはCSVファイルをExcel形式に変換し、その逆も可能であり、データ管理プロセスを合理化します。

IronXLはどのように信頼性のあるCSVファイル処理を確保していますか?

IronXLは、複雑なデータ型のサポートやExcel機能との統合を含む高度な機能を通じ、信頼性のあるCSVファイル処理を確保します。

IronXLを使用することでデータインポート/エクスポートの利点は何ですか?

IronXLはスムーズなデータのインポート/エクスポートプロセスを提供し、開発者の時間と労力を節約しながら、フォーマット間でのデータの完全性と正確性を確保します。

C#でのCSV操作に不慣れな開発者にとってIronXLは使いやすいですか?

はい、IronXLはユーザーフレンドリーな機能とシンプルなコード例を備えており、C#でのCSV操作に不慣れな開発者にとってアクセスしやすく、使いやすいです。

Curtis Chau
テクニカルライター

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

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