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

C# CSV リーダーとライター: IronXLを使用して CSV ファイルを作成、エクスポート、変換する

CSV ファイル (プレーンテキスト形式で保存されたコンマ区切りの値) は、アプリケーション、データベース、レポート システム間でのデータ交換において最も汎用的な形式の 1 つです。 ユーザーのリストをエクスポートする場合でも、財務レポートを生成する場合でも、分析プラットフォームにインポートするためのデータを準備する場合でも、C# を使用してプログラムで CSV ファイルを作成し、読み取る機能は、最新 for .NET開発に不可欠です。 開発者は、多くの場合、StringBuilder または StreamWriter を使用した単純な var line アプローチを使用して CSV 生成を開始しますが、データの複雑さが増すにつれて、これらの手動の方法はすぐにエラーが発生しやすくなります。

一部の開発者は、基本的な読み取り/書き込み操作のために CSV ヘルパー ライブラリを利用しています。ただし、これらのツールでは、 IronXLなどのスプレッドシートを優先するアプローチと比較して、手動によるマッピングと行レベルの処理が依然として必要です。 このガイドでは、Microsoft Excel をインストールしなくてもスプレッドシートの操作を簡素化する強力な.NETライブラリであるIronXLを使用して、CSV ファイルにデータを書き込む方法、既存の Excel ブックを CSV 形式に変換する方法、オブジェクトをコンマ区切り値にエクスポートする方法を説明します。 IronXL は、Windows、macOS、Linux、Docker や Azure などのコンテナー化された環境で動作するため、クラウド ネイティブ アプリケーションやマイクロサービス アーキテクチャに最適です。

CSV 形式とは何ですか? なぜ重要なのですか?

CSV(Comma Separated Values)ファイルは、異なるアプリケーション間で表形式のデータを保存および交換するために最も広く使用されている形式の1つです。 最も単純な形として、CSVファイルは、各行がカンマで区切られた一連の値を含むプレーンテキストファイルです。 このわかりやすい構造により、CSVデータは、さまざまなソフトウェア・システムで簡単に生成、読み取り、処理することができます。

CSV 形式は軽量で人間が読める形式であるため、レポートのエクスポート、データベース間でのデータ転送、分析ツールとの統合によく使用されます。 CSV ファイルの各行は 1 つのレコードを表し、その行内の各値はコンマで区切られます。 通常、ファイルの最初の行はヘッダーとして機能し、各列の名前が記載されています。 続くすべての行に実際のデータが含まれ、各値はヘッダーの列に対応しています。

CSV ファイルの構造を理解すると、区切り文字の選択、文字のエスケープ、エンコードなど、下流のシステムが出力を確実に解析できるかどうかに影響するすべての要素について、より適切な判断を下すことができます。 CSV ファイル形式は RFC 4180 で定義されており、埋め込まれたコンマ、フィールド内の改行文字、引用符で囲まれた文字列値などのエッジ ケースの処理に関するガイダンスが提供されています。

.NETプロジェクトにIronXLをインストールするにはどうすればよいでしょうか?

IronXL を新しいプロジェクトに追加するには、Microsoft for .NETパッケージ マネージャーであるNuGetを使用すると、わずか数秒で完了します。 Visual Studioを開き、NuGet Package Manager Consoleにアクセスして、次のコマンドを実行してください:

Install-Package IronXl.Excel

C# IronXLを使用して CSV に保存: 画像 1 - インストール

または、ソリューション・エクスプローラーでプロジェクトを右クリックし、"Manage NuGet Packages "を選択し、"Browse "タブで "IronXL "を検索し、"Install "をクリックします。 IronXL は、 .NET Framework 4.6.2+、. .NET Core、 .NET 5/6/7/8/10をサポートし、外部依存関係や COM 相互運用性の要件なしにあらゆるプラットフォームで実行できます。

インストールしたら、using ステートメントを使用してIronXL名前空間をコード ファイルに追加します。

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

この単一の名前空間は、スプレッドシートの作成とCSVエクスポート操作に必要なすべてのクラスへのアクセスを提供します。 CSV ファイルを手動で書き込むために StreamWriter または StringBuilder に依存するアプローチとは異なり、 IronXL は、特殊文字のエスケープ、データ型の保持、エクスポート前の数式の評価など、適切な CSV 形式の複雑な処理をすべて自動的に処理します。

IronXL のドキュメントでは、セルのスタイル設定、数式の評価、パスワード保護、グラフ生成などの高度な機能を含む、API サーフェス全体が網羅されています。 クイックリファレンスとして、 IronXLサンプルライブラリには、数十の一般的なスプレッドシートシナリオを網羅した、すぐに実行できるコードサンプルが用意されています。

IronXL はどのようなプラットフォームをサポートしていますか?

IronXL は、 .NETがサポートされているあらゆるプラットフォームで実行されます。 これには、Windows デスクトップおよびサーバー環境、macOS 開発マシン、Docker コンテナーを含む Linux サーバーが含まれます。 Azure または AWS 上でクラウドネイティブ アプリケーションを構築するチームの場合、 IronXL は追加の構成なしで動作します。 このライブラリでは、COM 相互運用性、Microsoft Office のインストール、外部システムの依存関係は不要であり、標準のパッケージ管理ワークフローを通じて簡単に展開および更新できます。

新しい CSV ファイルを最初から作成するにはどうすればよいですか?

プログラムで新しい CSV ファイルを作成するには、ワークブックの作成、データの入力、CSV 形式での保存という 3 つの手順が必要です。 IronXL の API は、使い慣れた Excel オブジェクト モデルを反映しているため、開発者はコンソール アプリケーションや任意 for .NETプロジェクト タイプでスプレッドシートの概念を扱うコードを簡単に記述できます。

従業員レコードのリストをCSVにエクスポートする必要があるシナリオを考えてみましょう。トップレベルのステートメントを使用した完全な例を以下に示します。

using IronXL;

// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Employees");

// Add header row with column names
sheet["A1"].Value = "EmployeeID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Department";
sheet["D1"].Value = "Salary";

// Add employee data rows
sheet["A2"].Value = 1001;
sheet["B2"].Value = "Sarah Johnson";
sheet["C2"].Value = "Engineering";
sheet["D2"].Value = 85000;

sheet["A3"].Value = 1002;
sheet["B3"].Value = "Michael Chen";
sheet["C3"].Value = "Marketing";
sheet["D3"].Value = 72000;

sheet["A4"].Value = 1003;
sheet["B4"].Value = "Emily Rodriguez";
sheet["C4"].Value = "Finance";
sheet["D4"].Value = 91000;

// Save as CSV file
workBook.SaveAsCsv("employees.csv", ",");
using IronXL;

// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Employees");

// Add header row with column names
sheet["A1"].Value = "EmployeeID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Department";
sheet["D1"].Value = "Salary";

// Add employee data rows
sheet["A2"].Value = 1001;
sheet["B2"].Value = "Sarah Johnson";
sheet["C2"].Value = "Engineering";
sheet["D2"].Value = 85000;

sheet["A3"].Value = 1002;
sheet["B3"].Value = "Michael Chen";
sheet["C3"].Value = "Marketing";
sheet["D3"].Value = 72000;

sheet["A4"].Value = 1003;
sheet["B4"].Value = "Emily Rodriguez";
sheet["C4"].Value = "Finance";
sheet["D4"].Value = 91000;

// Save as CSV file
workBook.SaveAsCsv("employees.csv", ",");
$vbLabelText   $csharpLabel

WorkBook.Create() メソッドは、新しいスプレッドシートを完全にメモリ内に初期化し、最終的な保存操作まで一時ファイルやディスク入出力を必要としません。 CreateWorkSheet() メソッドは、名前付きワークシートをワークブックに追加します。この名前は、複数シートのワークブックを CSV にエクスポートするときに関係します。

出力

C# IronXLを使用して CSV に保存: 画像 2 - CSV 出力

sheet["A1"] のようなセル参照は、値を割り当てることができる特定のセルへの直接アクセスを提供します。 IronXLは文字列、整数、小数、日付、ブール値などさまざまなデータ型を受け入れ、それぞれの型に適したフォーマットを自動的に処理します。 より複雑なデータ入力シナリオについては、一括セル割り当てテクニックに関するIronXL範囲操作ガイドを参照してください。

SaveAsCsv() メソッドは、ワークシートの内容をファイルにエクスポートします。最初のパラメータは出力ファイル名とパスを指定し、2番目のパラメータは区切り文字を定義します。 IronXLは自動的に適切な書式を処理します。これにはCSVの解析に支障をきたすような特殊文字のエスケープや、エクスポート処理全体を通してデータの整合性を維持することも含まれます。

オブジェクトのリストを CSV にエクスポートするにはどうすればよいですか?

厳密に型指定されたオブジェクトを操作する場合は、foreach ループを使用してコレクションを反復処理し、各項目をワークシートに書き込むことができます。 以下は、パブリック文字列プロパティを持つ Student クラスを使用する例です。

using IronXL;

// Define the Student class with public string properties
public class Student
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
}

// Create sample data
var students = new List<Student>
{
    new Student { FirstName = "John", LastName = "Smith", Email = "john@example.com" },
    new Student { FirstName = "Jane", LastName = "Doe", Email = "jane@example.com" }
};

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.DefaultWorkSheet;

// Add header row
sheet["A1"].Value = "FirstName";
sheet["B1"].Value = "LastName";
sheet["C1"].Value = "Email";

// Use foreach to iterate through the list and write each item
int row = 2;
foreach (var item in students)
{
    sheet[$"A{row}"].Value = item.FirstName;
    sheet[$"B{row}"].Value = item.LastName;
    sheet[$"C{row}"].Value = item.Email;
    row++;
}

workBook.SaveAsCsv("students.csv", ",");
using IronXL;

// Define the Student class with public string properties
public class Student
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
}

// Create sample data
var students = new List<Student>
{
    new Student { FirstName = "John", LastName = "Smith", Email = "john@example.com" },
    new Student { FirstName = "Jane", LastName = "Doe", Email = "jane@example.com" }
};

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.DefaultWorkSheet;

// Add header row
sheet["A1"].Value = "FirstName";
sheet["B1"].Value = "LastName";
sheet["C1"].Value = "Email";

// Use foreach to iterate through the list and write each item
int row = 2;
foreach (var item in students)
{
    sheet[$"A{row}"].Value = item.FirstName;
    sheet[$"B{row}"].Value = item.LastName;
    sheet[$"C{row}"].Value = item.Email;
    row++;
}

workBook.SaveAsCsv("students.csv", ",");
$vbLabelText   $csharpLabel

このパターンは、各項目を繰り返し処理し、そのプロパティを特定の列にマッピングすることによって、リスト・オブジェクトを CSV データにエクスポートする方法を示します。 foreach ループはコレクション内の各学生を処理し、文字列補間によってセル参照が動的に構築されます。 リフレクションベースのプロパティ マッピングまたは匿名型が含まれるシナリオでは、型のメタデータから PropertyInfo オブジェクトを反復処理することで、このアプローチを適用できます。

既存の Excel ファイルを CSV に変換するにはどうすればよいですか?

ExcelスプレッドシートをCSV形式に変換することは、レガシーシステムとの統合、データベースインポートのためのデータ準備、または人間が作成したレポートから機械可読出力を生成する場合によくある要件です。 IronXLはデータの正確性を保ちながら、最小限のコードでこの変換を行います。

using IronXL;

// Load an existing Excel file
WorkBook workBook = WorkBook.Load("Monthly_Report_20251012.xlsx");

// Convert and save as CSV format
workBook.SaveAsCsv("Monthly_Report_20251012.csv");
using IronXL;

// Load an existing Excel file
WorkBook workBook = WorkBook.Load("Monthly_Report_20251012.xlsx");

// Convert and save as CSV format
workBook.SaveAsCsv("Monthly_Report_20251012.csv");
$vbLabelText   $csharpLabel

Load() メソッドは、XLSX、XLS、XLSM、さらには既存の CSV または TSV ファイルなど、さまざまな形式の Excel ファイルを開きます。 この柔軟性により、元の形式に関係なく入力ファイルを受け入れる標準化されたエクスポート パイプラインを構築できます。 サポートされている Excel 形式の完全なリストについては、 IronXLドキュメントを参照してください。

入力

C# IronXLを使用して CSV に保存: 画像 3 - サンプル Excel 入力

出力

C# IronXLを使用して CSV に保存: 画像 4 - Excel から CSV への出力

変換中のIronXLの特筆すべき機能の一つは、自動式評価です。 CSVに保存する際、IronXLはスプレッドシートに存在する数式を計算し、数式テキストではなく結果の値をエクスポートします。 たとえば、=SUM(A1:A10) を含むセルは計算された合計としてエクスポートされ、下流のシステムがすぐに使用できる実用的なデータが CSV ファイルに含まれるようになります。

マルチシートエクスポートはどのように機能しますか?

複数のワークシートを含むExcelワークブックを扱う場合、IronXLは各シートごとに別々のCSVファイルを自動的に作成します。 この機能は、財務報告書、地域別売上データ、または各部門やカテゴリーが1つのマスター・ワークブックの中で独自のワークシートを占めるようなシナリオで特に価値があります。

using IronXL;

// Load a multi-sheet workbook (e.g., annual sales by region)
WorkBook workBook = WorkBook.Load("annual_sales.xlsx");

// Export all sheets to CSV -- creates separate files for each sheet
workBook.SaveAsCsv("sales_export.csv");
// Output: sales_export.North.csv, sales_export.South.csv, sales_export.East.csv, etc.

// Or export a specific worksheet
WorkSheet northRegion = workBook.GetWorkSheet("North");
northRegion.SaveAsCsv("north_region_sales.csv");
using IronXL;

// Load a multi-sheet workbook (e.g., annual sales by region)
WorkBook workBook = WorkBook.Load("annual_sales.xlsx");

// Export all sheets to CSV -- creates separate files for each sheet
workBook.SaveAsCsv("sales_export.csv");
// Output: sales_export.North.csv, sales_export.South.csv, sales_export.East.csv, etc.

// Or export a specific worksheet
WorkSheet northRegion = workBook.GetWorkSheet("North");
northRegion.SaveAsCsv("north_region_sales.csv");
$vbLabelText   $csharpLabel

命名規則では、各ワークシート名をベースファイル名に追加することで、処理やアーカイブ時にエクスポートされた各ファイルのソースを簡単に識別できるようにしています。 特定のワークシートのみが必要なターゲットエクスポートの場合は、GetWorkSheet() を使用して必要なワークシートを取得し、そのシート オブジェクトで直接 SaveAsCsv() を呼び出します。

Excel 形式間の変換の詳細については、 IronXLドキュメントをご覧ください。

DataTable を CSV にエクスポートするにはどうすればよいですか?

エンタープライズ アプリケーションは、データベース クエリ、API 応答、またはメモリ内データ処理から生成された DataTable オブジェクトを頻繁に操作します。 IronXLはこれら for .NETデータ構造とファイルエクスポートのギャップを埋め、アプリケーションメモリから共有可能なCSVファイルへの信頼できるパスを提供します。 この方法は、 IronXL が文字のエスケープ、区切り文字の管理、エンコードを自動的に処理するため、StreamWriter を使用して CSV ファイルを手動で書き込むよりも信頼性が高くなります。

using IronXL;
using System.Data;

// Create and populate a DataTable with columns
DataTable products = new DataTable();
products.Columns.Add("SKU", typeof(string));
products.Columns.Add("ProductName", typeof(string));
products.Columns.Add("Price", typeof(decimal));
products.Columns.Add("InStock", typeof(int));

// Add rows of data
products.Rows.Add("SKU-001", "Wireless Mouse", 29.99m, 150);
products.Rows.Add("SKU-002", "Mechanical Keyboard", 89.99m, 75);
products.Rows.Add("SKU-003", "USB-C Hub", 45.99m, 200);

// Create workbook and transfer DataTable contents
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.DefaultWorkSheet;

// Add header row from column names
for (int col = 0; col < products.Columns.Count; col++)
{
    sheet.SetCellValue(0, col, products.Columns[col].ColumnName);
}

// Add data rows using nested loops
for (int row = 0; row < products.Rows.Count; row++)
{
    for (int col = 0; col < products.Columns.Count; col++)
    {
        sheet.SetCellValue(row + 1, col, products.Rows[row][col].ToString());
    }
}

// Export to CSV
workBook.SaveAsCsv("product_inventory.csv", ",");
using IronXL;
using System.Data;

// Create and populate a DataTable with columns
DataTable products = new DataTable();
products.Columns.Add("SKU", typeof(string));
products.Columns.Add("ProductName", typeof(string));
products.Columns.Add("Price", typeof(decimal));
products.Columns.Add("InStock", typeof(int));

// Add rows of data
products.Rows.Add("SKU-001", "Wireless Mouse", 29.99m, 150);
products.Rows.Add("SKU-002", "Mechanical Keyboard", 89.99m, 75);
products.Rows.Add("SKU-003", "USB-C Hub", 45.99m, 200);

// Create workbook and transfer DataTable contents
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.DefaultWorkSheet;

// Add header row from column names
for (int col = 0; col < products.Columns.Count; col++)
{
    sheet.SetCellValue(0, col, products.Columns[col].ColumnName);
}

// Add data rows using nested loops
for (int row = 0; row < products.Rows.Count; row++)
{
    for (int col = 0; col < products.Columns.Count; col++)
    {
        sheet.SetCellValue(row + 1, col, products.Rows[row][col].ToString());
    }
}

// Export to CSV
workBook.SaveAsCsv("product_inventory.csv", ",");
$vbLabelText   $csharpLabel

このパターンは、DataTable 構造を反復処理し、最初に列ヘッダーを転送してから、各データ行を体系的に入力します。 DefaultWorkSheet プロパティを使用すると、新しく作成されたワークブックの最初のワークシートにすばやくアクセスできるため、単純なシナリオでは明示的にワークシートを作成する必要がなくなります。

出力

C# IronXLを使用して CSV に保存: 画像 5 - DataTable から CSV 出力

IronXLはデータ転送の過程でデータ型を保持し、数値の精度と日付の書式を維持します。 このアプローチは、単純な検索クエリからの数十の行を含む場合でも、大規模なデータ エクスポートからの数千のレコードを含む場合でも、あらゆるサイズの DataTablesに適しています。 エクスポート前の追加のスプレッドシート操作については、セルの書式設定オプションと範囲操作を参照してください。

CSV ファイル内のカスタム区切り文字をどのように処理しますか?

システムや地域によって、必要な区切り文字は異なります。 カンマは多くの国で標準的な区切り文字ですが、ヨーロッパ地域ではセミコロンが好まれることが多く、カンマは数値の小数部の区切り文字として機能します。 タブ区切りファイル(TSV)は、ソースデータにフィールド値内のカンマが含まれている場合によく使用されます。 IronXL の SaveAsCsv() メソッドは、出力の各行を処理するための追加コードを必要とせずに、これらすべてのシナリオに対応します。

using IronXL;

WorkBook workBook = WorkBook.Load("data.xlsx");

// Standard comma delimiter (default format)
workBook.SaveAsCsv("output_comma.csv", ",");

// Semicolon delimiter (common in European systems)
workBook.SaveAsCsv("output_semicolon.csv", ";");

// Tab delimiter (TSV format)
workBook.SaveAsCsv("output_tab.tsv", "\t");

// Pipe delimiter (used in some data interchange formats)
workBook.SaveAsCsv("output_pipe.csv", "|");
using IronXL;

WorkBook workBook = WorkBook.Load("data.xlsx");

// Standard comma delimiter (default format)
workBook.SaveAsCsv("output_comma.csv", ",");

// Semicolon delimiter (common in European systems)
workBook.SaveAsCsv("output_semicolon.csv", ";");

// Tab delimiter (TSV format)
workBook.SaveAsCsv("output_tab.tsv", "\t");

// Pipe delimiter (used in some data interchange formats)
workBook.SaveAsCsv("output_pipe.csv", "|");
$vbLabelText   $csharpLabel

SaveAsCsv() の 2 番目のパラメータは、任意の文字列を区切り文字として受け入れ、さまざまなシステムや地域の要件との統合に完全な柔軟性を提供します。 国際配布用のファイルを生成するときは、対象システムのロケールの想定を考慮してください。ヨーロッパの金融システムではセミコロンによる区切りが想定されることが多いですが、北米のシステムでは通常、デフォルトでコンマが使用されます。 CSV の RFC 4180 標準では、解析エラーを防ぐために区切り文字を含む値を引用符で囲む方法が説明されています。

C# での CSV ファイル生成のベスト プラクティスは何ですか?

C# で CSV ファイルを操作する場合、確立されたプラクティスに従うことで、データの正確性と読み取りやすさが維持され、他のシステムとの互換性が確保されます。 次の表は、最も重要な考慮事項をまとめたものです。

C# での CSV ファイル生成のベスト プラクティス
練習する なぜそれが重要なのか IronXLアプローチ
一貫した区切り文字 下流システムでの解析エラーを防止 SaveAsCsv() の 2 番目のパラメータとして区切り文字を渡す
特別な値を引用する データにカンマが含まれている場合でもフィールドの整合性を維持します IronXLによって自動的に処理されます
一貫した日付形式 ロケールやシステム間の曖昧さを回避 出力を制御するために保存する前にセルの書式を設定する
値に改行は避ける 行構造の破損を防ぐ IronXL はエクスポート中に埋め込まれた改行をエスケープします
例外を処理する ファイルストリームが適切に閉じられることを保証する IronXLはリソースを内部で処分する
保存する前に検証する 消費者に届く前にデータの問題を検出 範囲操作を使用してエクスポート前にセルの値を検証する

基本的な事項に加えて、国際的な視聴者をターゲットとする場合は、明示的にエンコードすることを検討してください。 Microsoft Excel で開かれた CSV ファイルで非 ASCII 文字を正しく表示するには、BOM 付きの UTF-8 が必要になることがよくあります。 数百万行に及ぶ大量のエクスポートの場合は、単一の大きな CSV を書き込むのではなく、データを複数のファイルに分割することを検討してください。これにより、ファイル サイズが管理しやすくなり、生成時と使用時の両方でメモリ負荷が軽減されます。

データ パイプラインを構築するチーム向けに、 IronXL の非同期およびストリーミングのドキュメントでは、ワークブック全体をメモリにロードせずに大規模なデータセットを処理するパターンについて説明しています。 IronXLサンプル ライブラリには、バッチ処理、スケジュールされたエクスポート ジョブ、Entity Framework などの一般的な ORM フレームワークとの統合のための追加パターンが含まれています。

.NETエコシステムの CSV 処理ツールを使用する場合、 IronXL が低レベルのアプローチに比べてどこに適合するかを理解することで、各シナリオに適したツールを選択するのに役立ちます。 Excel を一切使用しない純粋な CSV 生成の場合、手動引用ロジックを備えた StreamWriter で十分な場合があります。 Excel 形式の互換性、数式の評価、リッチ フォーマットなど、あらゆることに関して、 IronXL はより信頼性の高い基盤を提供します。

IronXLで既存の CSV ファイルを読み取るにはどうすればよいでしょうか?

CSV データをアプリケーションに読み込む方法は、他のスプレッドシート形式を読み込む方法と同じです。 IronXL の Load() メソッドは CSV ファイルを認識し、標準のワークブック/ワークシート モデルに解析して、Excel ファイルに使用されるのと同じ API を使用して個々のセルと範囲にアクセスできるようにします。

using IronXL;

// Load an existing CSV file
WorkBook workBook = WorkBook.Load("employees.csv");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Access specific cells by reference
string firstHeader = sheet["A1"].StringValue;

// Iterate through all rows
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.Write(cell.StringValue + "\t");
    }
    Console.WriteLine();
}

// Access a range of cells
var nameColumn = sheet["B2:B100"];
foreach (var cell in nameColumn)
{
    Console.WriteLine(cell.StringValue);
}
using IronXL;

// Load an existing CSV file
WorkBook workBook = WorkBook.Load("employees.csv");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Access specific cells by reference
string firstHeader = sheet["A1"].StringValue;

// Iterate through all rows
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.Write(cell.StringValue + "\t");
    }
    Console.WriteLine();
}

// Access a range of cells
var nameColumn = sheet["B2:B100"];
foreach (var cell in nameColumn)
{
    Console.WriteLine(cell.StringValue);
}
$vbLabelText   $csharpLabel

読み取り操作と書き込み操作の一貫性により、チームはすべてのスプレッドシート関連タスクに対して 1 つの API のみを学習すれば済みます。 CSV ファイルを開くのと同じ WorkBook.Load() メソッドは、XLSX、XLS、XLSM 形式も処理します。これは、複数の形式で入力を受け入れるパイプラインを構築するときに便利です。 IronXLを使用した CSV ファイルの読み取りの詳細については、ドキュメントをご覧ください。

次のステップは何ですか?

このガイドでは、C# でIronXLを使用して CSV ファイルを作成および管理するためのコア パターンについて説明しました。

  • WorkBook.Create() メモリ内で新しいスプレッドシートを初期化します
  • WorkBook.Load() サポートされている任意の形式で既存の Excel および CSV ファイルを開くため
  • SaveAsCsv() カスタマイズ可能な区切り文字を使用してデータをエクスポートします
  • 対象を絞った変換のためにGetWorkSheet()を使用して個々のワークシートをエクスポートします
  • DataTable データベースから CSV へのワークフローの反復パターン
  • foreach ループを使用したオブジェクトリストのエクスポート
  • フルレンジアクセスでCSVデータをアプリケーションに読み込む

これらのテクニックを実践するには、 IronXL の無料トライアルを開始して、時間制限なしでスプレッドシートの全機能をテストしてください。 実稼働環境への展開の準備ができたら、 IronXLライセンス オプションを確認して、チームの規模と使用要件に適したプランを見つけてください。

セルのスタイル設定、数式の作成、グラフの生成、パスワード保護などの高度なシナリオをカバーする追加の例については、 IronXL のドキュメント完全なコード例ライブラリを参照してください。 IronXLチュートリアル シリーズでは、 DataTable のエクスポート形式の変換CSV ファイルへの書き込みなど、より複雑な統合シナリオについて説明します。

よくある質問

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

CSVファイル(カンマ区切り値ファイル)は、アプリケーション、データベース、レポートシステム間でのデータ交換に使用されるプレーンテキスト形式です。汎用的なフォーマットであるため、リストのエクスポート、レポートの生成、分析用データの準備などに役立ちます。

C# を使用して CSV ファイルを作成するにはどうすればよいでしょうか?

WorkBook を作成し、WorkSheet にデータを入力し、目的の出力パスと区切り文字を使用して SaveAsCsv() を呼び出すことで、 IronXLを使用して C# で CSV ファイルを作成できます。

CSV作成にIronXLを使う利点は何ですか?

IronXLは、C#でCSVファイルを作成するためのエラーのないアプローチを提供し、StreamWriterなどの従来の手動の方法よりも複雑なデータ構造を効率的に処理します。また、ExcelからCSVへの変換、数式の評価、複数シートのエクスポートもサポートしています。

IronXLはCSVファイルを作成する際、どのようにデータの複雑さを処理しますか?

IronXL は、CSV エクスポート中に文字のエスケープ、区切り文字の処理、数式の評価、データ型の保持を自動的に管理し、エラーを最小限に抑え、データの整合性を確保します。

IronXLは分析プラットフォームへのデータインポートに使用できますか?

IronXLは構造化されたCSVファイルを作成することで、分析プラットフォームへのインポートに必要なデータを準備します。

IronXLでCSVファイルの自動生成は可能ですか?

IronXLはC#による自動化をサポートしており、開発者はより大規模な.NETアプリケーションの一部としてCSVファイルをプログラムで生成し、効率性と生産性を高めることができます。

C#で手動でCSVを作成する方法の一般的な落とし穴は何ですか?

StreamWriter のような手動の方法では、文字のエスケープ、区切り文字の管理、エンコード用のカスタム コードが必要になりますが、データの複雑さが増すにつれて、これらすべてにおいてエラーが発生しやすくなります。

IronXLは.NET開発におけるCSVファイル作成プロセスをどのように改善しますか?

IronXL は、データの複雑さを自動的に処理する直感的な方法を提供することで CSV 作成プロセスを簡素化し、 .NETアプリケーション内で正確かつ効率的な CSV ファイル生成を保証します。

IronXLはデータベースからCSVファイルにデータをエクスポートできますか?

はい、 IronXL はデータベース クエリから生成された DataTable オブジェクトを CSV ファイルに直接エクスポートできるため、データ交換や他のシステムとの統合が容易になります。

IronXLで既存の CSV ファイルを読み取るにはどうすればよいでしょうか?

WorkBook.Load() にCSVファイルへのパスを渡して使用してください。IronXLはCSVファイルを標準のワークブック/ワークシートモデルに解析し、Excelファイルと同じAPIを使用して個々のセルや範囲にアクセスできるようにします。

カーティス・チャウ
テクニカルライター

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me