IronXLを使って.NETで CSV ファイルを書き込む方法
なぜ.NET開発者にはより良いCSVソリューションが必要なのか?
CSVファイルは、数多くの.NETアプリケーション間でデータ交換を支える重要なツールですが、実際の複雑なデータを扱う場合、標準ライブラリのオプションだけでは不十分なことがよくあります。財務報告書から在庫管理システムまで、わずか数行のコードでプログラム的にCSVファイルを作成できます。 CsvHelperのようなライブラリが基本的なCSV操作をカバーしていますが、現代の開発者はより複雑なシナリオに直面しています:Excelワークブックの変換、エクスポート時のデータ型の保持、エンタープライズ規模のスプレッドシートワークフローの処理。 IronXLは、信頼性の高いCSV書き込み機能と完全なExcel機能を、 RFC 4180規格に準拠した単一の依存関係のないライブラリに統合することで、これらの課題に対処します。
これは、複数の列、行固有の処理ロジック、および自動的に推測される区切り文字をサポートするカスタムの.NET CSVライターまたは.NET CSVパーサーを構築する開発者にとって理想的です。 このチュートリアルでは、IronXLのCSV機能について、基本的なファイル作成から企業規模のデータエクスポートまで、順を追って説明します。
IronXLのインストールと設定方法を教えてください。
IronXLのインストールは、 NuGetパッケージマネージャーを使えば数秒で完了します。 パッケージ マネージャー コンソールまたは.NET CLI のいずれかを使用できます。
Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
インストールが完了したら、 IronXLの名前空間を追加して、すぐにCSVファイルの書き込みを開始してください。 次の例は、 .NET 10 のトップレベル ステートメントを使用してワークブックを作成し、データを入力し、CSV にエクスポートする方法を示しています。
using IronXL;
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("data");
// Add headers
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;
workSheet["A3"].Value = "Gadget";
workSheet["B3"].Value = 250;
workSheet["C3"].Value = 34.50;
workSheet["A4"].Value = "Component";
workSheet["B4"].Value = 75;
workSheet["C4"].Value = 8.99;
// Save as CSV with comma delimiter
workBook.SaveAsCsv("inventory.csv", ",");
using IronXL;
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("data");
// Add headers
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;
workSheet["A3"].Value = "Gadget";
workSheet["B3"].Value = 250;
workSheet["C3"].Value = 34.50;
workSheet["A4"].Value = "Component";
workSheet["B4"].Value = 75;
workSheet["C4"].Value = 8.99;
// Save as CSV with comma delimiter
workBook.SaveAsCsv("inventory.csv", ",");
Imports IronXL
' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")
' Add headers
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
workSheet("A3").Value = "Gadget"
workSheet("B3").Value = 250
workSheet("C3").Value = 34.5
workSheet("A4").Value = "Component"
workSheet("B4").Value = 75
workSheet("C4").Value = 8.99
' Save as CSV with comma delimiter
workBook.SaveAsCsv("inventory.csv", ",")
このシンプルなプログラムは、C#コードから直接CSVコンテンツを書き込み、データを保持するWorkBookオブジェクトを作成する方法を示しています。 SaveAsCsv メソッドは、デフォルトの区切り文字としてカンマを使用しますが、任意の区切り文字を指定することもできます。これは、セミコロンやタブが標準的な列区切り文字であるような、地域固有のシナリオで役立ちます。
ワークブックとワークシートモデルの理解
IronXLは、ワークブックからワークシートへの階層構造を通してデータを整理します。 WorkBookは、1つ以上のWorkSheetオブジェクトを格納するコンテナとして機能し、各WorkSheetオブジェクトはセルのグリッドを表します。 CSVにエクスポートする場合、IronXLはワークシートごとに1つのファイルを作成し、filename.SheetName.csvのパターンで名前を付けます。
このモデルでは、新規ファイルをゼロから作成する場合でも、既存のExcelワークブックを読み込む場合でも、データベースからデータをエクスポートする場合でも、一貫したAPIが提供されます。 標準的なExcel記法(@--CODE-43181--@@、@--CODE-43182--@@)またはゼロベースの行と列の整数を使用してセルを参照し、ワークフローに合った方を使用してください。
カスタム区切り文字を使用してCSVファイルを作成する方法を教えてください。
地域やシステムによって、期待される列区切り記号は異なります。 ヨーロッパの地域では、小数点にはコンマが使われるため、セミコロンがよく使われる。 タブ区切り値(TSV)は、バイオインフォマティクスやログ処理パイプラインでよく使用されます。 IronXLのSaveAsCsvメソッドは区切り文字として任意の文字列を受け入れます:
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
workSheet["A1"].Value = "Region";
workSheet["B1"].Value = "Revenue";
workSheet["C1"].Value = "Units";
workSheet["A2"].Value = "Europe";
workSheet["B2"].Value = "1250000.50";
workSheet["C2"].Value = 3400;
workSheet["A3"].Value = "なしrth America";
workSheet["B3"].Value = "2800000.00";
workSheet["C3"].Value = 7200;
// Semicolon delimiter for European locales
workBook.SaveAsCsv("sales_europe.csv", ";");
// Tab delimiter for TSV output
workBook.SaveAsCsv("sales_tsv.tsv", "\t");
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
workSheet["A1"].Value = "Region";
workSheet["B1"].Value = "Revenue";
workSheet["C1"].Value = "Units";
workSheet["A2"].Value = "Europe";
workSheet["B2"].Value = "1250000.50";
workSheet["C2"].Value = 3400;
workSheet["A3"].Value = "なしrth America";
workSheet["B3"].Value = "2800000.00";
workSheet["C3"].Value = 7200;
// Semicolon delimiter for European locales
workBook.SaveAsCsv("sales_europe.csv", ";");
// Tab delimiter for TSV output
workBook.SaveAsCsv("sales_tsv.tsv", "\t");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("sales")
workSheet("A1").Value = "Region"
workSheet("B1").Value = "Revenue"
workSheet("C1").Value = "Units"
workSheet("A2").Value = "Europe"
workSheet("B2").Value = "1250000.50"
workSheet("C2").Value = 3400
workSheet("A3").Value = "なしrth America"
workSheet("B3").Value = "2800000.00"
workSheet("C3").Value = 7200
' Semicolon delimiter for European locales
workBook.SaveAsCsv("sales_europe.csv", ";")
' Tab delimiter for TSV output
workBook.SaveAsCsv("sales_tsv.tsv", vbTab)
区切り文字文字列は、追加の解析設定なしに、直接区切り文字スロットに挿入されます。 IronXL は、区切り文字を含むセルの引用符を処理し、出力がRFC 4180に準拠するようにします。
ExcelワークブックをCSVに変換するにはどうすればよいですか?

IronXLは、既存のExcelファイルをCSVに変換すること、数式を評価すること、およびデータの整合性を維持することに優れています。 これは、ヘッダー行と動的に計算された値の両方を含むスプレッドシートを扱う場合に不可欠です。
using IronXL;
// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// Evaluate all formulas before export so calculated values appear in CSV
workBook.EvaluateAll();
// Export to CSV -- each worksheet creates a separate CSV file
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
workBook.SaveAsCsv("report.csv", ",");
using IronXL;
// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// Evaluate all formulas before export so calculated values appear in CSV
workBook.EvaluateAll();
// Export to CSV -- each worksheet creates a separate CSV file
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
workBook.SaveAsCsv("report.csv", ",");
Imports IronXL
' Load an Excel file with formulas and formatting
Dim workBook As WorkBook = WorkBook.Load("financial_report.xlsx")
' Evaluate all formulas before export so calculated values appear in CSV
workBook.EvaluateAll()
' Export to CSV -- each worksheet creates a separate CSV file
' Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
workBook.SaveAsCsv("report.csv", ",")
複数のシートのワークブックを変換する際、IronXLは各ワークシートごとに個別のCSVファイルを自動的に生成します。 式の計算はエクスポート前に実行され、最終CSV出力に正確なデータを保証します。 EvaluateAll メソッドは、ファイルがディスクに書き込まれる前に、シート間の参照を含むすべての数式を解決します。
出力
まず、複数シートのExcelファイルから生成されたCSVファイルは以下のとおりです。

そして、これはExcelシートの1つと対応するCSVファイルの例の比較です:

データテーブルをCSVファイルにエクスポートするにはどうすればよいですか?
データベース駆動型アプリケーションの場合、 IronXLはDataTableのエクスポートを容易にします。 次の例は、モック・データ・ソースからDataTableを読み取り、セミコロン区切りでCSVに書き出します:
using System.Data;
using IronXL;
// Simulate a DataTable from a database query
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Write column headers from DataTable schema
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(0, col, dataTable.Columns[col].ColumnName);
}
// Write data rows
int row = 1;
foreach (DataRow dataRow in dataTable.Rows)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(row, col, dataRow[col]?.ToString() ?? string.Empty);
}
row++;
}
// Export with semicolon delimiter for European compatibility
workBook.SaveAsCsv("sales_data.csv", ";");
using System.Data;
using IronXL;
// Simulate a DataTable from a database query
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Write column headers from DataTable schema
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(0, col, dataTable.Columns[col].ColumnName);
}
// Write data rows
int row = 1;
foreach (DataRow dataRow in dataTable.Rows)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(row, col, dataRow[col]?.ToString() ?? string.Empty);
}
row++;
}
// Export with semicolon delimiter for European compatibility
workBook.SaveAsCsv("sales_data.csv", ";");
Imports System.Data
Imports IronXL
' Simulate a DataTable from a database query
Dim dataTable As DataTable = GetSalesData()
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("sales")
' Write column headers from DataTable schema
For col As Integer = 0 To dataTable.Columns.Count - 1
workSheet.SetCellValue(0, col, dataTable.Columns(col).ColumnName)
Next
' Write data rows
Dim row As Integer = 1
For Each dataRow As DataRow In dataTable.Rows
For col As Integer = 0 To dataTable.Columns.Count - 1
workSheet.SetCellValue(row, col, If(dataRow(col)?.ToString(), String.Empty))
Next
row += 1
Next
' Export with semicolon delimiter for European compatibility
workBook.SaveAsCsv("sales_data.csv", ";")
CODE-43185--@@からインポートすると、dataTable.Rowsコレクションの各行がワークシートの新しい行になります。 IronXLは変換時にデータ型を保持します。数値は数値のまま、日付は書式を維持、テキストは追加設定なしで特殊文字を処理します。
出力
ここでは、出力CSVファイルの横に模擬データソースが表示されています。

CSVファイルの書き込みにおいて、 IronXLとCsvHelperを比較するとどう違うのか?
両方のライブラリを使用したCSV書き込みワークフローを示す、従業員データのエクスポートシナリオを考えてみましょう。
CsvHelperの実装:
using System.Globalization;
using System.IO;
using CsvHelper;
using var writer = new StreamWriter("employees.csv");
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.WriteRecords(employees);
using System.Globalization;
using System.IO;
using CsvHelper;
using var writer = new StreamWriter("employees.csv");
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.WriteRecords(employees);
Imports System.Globalization
Imports System.IO
Imports CsvHelper
Using writer As New StreamWriter("employees.csv")
Using csv As New CsvWriter(writer, CultureInfo.InvariantCulture)
csv.WriteRecords(employees)
End Using
End Using
IronXLの実装:
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
int rowIndex = 1;
foreach (var emp in employees)
{
workSheet[$"A{rowIndex}"].Value = emp.Name;
workSheet[$"B{rowIndex}"].Value = emp.Salary;
workSheet[$"C{rowIndex}"].Value = emp.StartDate;
rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
int rowIndex = 1;
foreach (var emp in employees)
{
workSheet[$"A{rowIndex}"].Value = emp.Name;
workSheet[$"B{rowIndex}"].Value = emp.Salary;
workSheet[$"C{rowIndex}"].Value = emp.StartDate;
rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("employees")
Dim rowIndex As Integer = 1
For Each emp In employees
workSheet($"A{rowIndex}").Value = emp.Name
workSheet($"B{rowIndex}").Value = emp.Salary
workSheet($"C{rowIndex}").Value = emp.StartDate
rowIndex += 1
Next
workBook.SaveAsCsv("employees.csv", ",")
| 特徴 | CsvHelper | IronXL |
|---|---|---|
| 基本的なCSVの書き方 | はい | はい |
| ExcelからCSVへの変換 | なし | はい |
| 式の評価 | なし | はい |
| 複数シートの取り扱い | なし | はい |
| データ型の保存 | マニュアル | 自動翻訳 |
| Excel形式のサポート(XLSX、XLS、XLSM) | なし | はい |
| MS Officeは不要 | はい | はい |
| セルの書式設定とスタイル | なし | はい |
| クロスプラットフォーム対応(.NET 10対応) | はい | はい |
CsvHelperは、POCOオブジェクトの単純なシリアル化を効率的に処理します。 IronXLは、既存のExcelファイルを読み込む場合、エクスポート前に数式を評価する場合、またはワークシートの範囲をきめ細かく制御する必要がある場合に、追加機能を提供します。 もしあなたのワークフローが、ビジネスユーザーから.xlsx@ファイルを受け取り、下流システム用にCSVに変換することを含むのであれば、IronXLはあなたのパイプラインから変換ステップ全体を取り除きます。
IronXLはCSVエクスポートに関してどのようなEnterprise機能を提供していますか?
IronXLのSaveAsCsv@メソッドには、すぐに使える機能がいくつか含まれています:
| 特徴 | 翻訳内容 | 使用事例 |
|---|---|---|
| カスタム区切り文字 | コンマ、セミコロン、タブ、または任意の文字 | 地域的な互換性 |
| エンコードオプション | UTF-8、UTF-16、およびカスタムエンコーディング | 国際文字セット |
| 式の評価 | エクスポート前にExcelの数式を計算します | 財務報告、動的データ |
| クロスプラットフォームサポート | Windows, Linux, macOS | クラウドおよびコンテナの導入 |
| 複数シートのエクスポート | ワークシートごとに1つのCSVファイル | 複雑なワークブック構造 |
| RFC 4180準拠 | 特殊文字の自動引用 | 相互運用性の保証 |
エクスポート前にセルデータの書式設定を適用することで、CSV出力における数値、通貨、日付の表示方法を制御できます。 大規模なデータセットの場合は、ワークシートの範囲操作を使用してデータをチャンク単位で処理することで、メモリ使用量を予測可能な範囲に抑えることができます。
クロスプラットフォーム対応により、コードを変更することなく、IronXLを利用したCSV生成機能をKubernetesやAzure App ServiceのLinuxコンテナにデプロイできます。 このライブラリには管理されていない依存関係が含まれていないため、どのオペレーティングシステムでも同じように動作します。 サポートされているランタイムの詳細については、IronXLプラットフォームの互換性ガイドを参照してください。
CSVエクスポートでよくある問題にどう対処しますか?
大規模なCSVエクスポートを扱う場合、いくつかの予測可能な問題が発生します。それぞれの問題への対処法を以下に示します。
データ内の特殊文字: IronXLは、セル値内の引用符、カンマ、改行を自動的にエスケープします。 文字列を前処理したり、独自のエスケープロジックを記述したりする必要はありません。ライブラリがRFC 4180の引用規則を内部的に処理します。
大容量ファイルの処理:数万行のデータを含むワークブックの場合は、ワークシート範囲を使用してデータをバッチ処理します。 最終エクスポート前に中間シートに書き込むことで、メモリ割り当てを制御できます。
エンコーディングに関する問題:セル値に国際文字、アジア言語の文字、または絵文字が含まれる場合は、UTF-8エンコーディングを明示的に指定してください。 IronXLはUTF-8とUTF-16エンコーディングを標準でサポートしているため、サードパーティ製のエンコーディングライブラリは必要ありません。
データの欠落または入力ミス: IronXLはデフォルトで数値および日付形式を保持します。 セルに欠落データを参照する数式が含まれている場合、EvaluateAll()は空白テキストを無言で出力するのではなく、エラー値に解決されるため、パイプラインの早い段階でデータ品質の問題を可視化できます。
区切り文字の衝突: データに区切り文字が含まれている場合(例えば、区切り文字としてカンマを使用する場合、$1,200.00を含む価格フィールド)、IronXLはRFC 4180の規則に従って値を自動的に二重引用符で囲みます。
詳細なガイダンスについては、 IronXL CSVドキュメント、 APIリファレンス、およびサポートリソースを参照してください。
IronXLでCSVファイルを読み込んで解析するにはどうすればよいですか?
CSVファイルへの書き込みは、話の半分に過ぎない。 IronXLはCSVの読み込みと解析にも対応しており、カンマ区切りのデータをワークブック構造に読み込み、クエリ、フィルタリング、変換を行った後、任意の形式にエクスポートできます。
using IronXL;
// Load an existing CSV file into a workbook
WorkBook workBook = WorkBook.Load("sales_data.csv");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Iterate over rows and process data
foreach (var row in workSheet.Rows)
{
string product = row["A"].ToString();
int quantity = row["B"].IntValue;
decimal price = (decimal)row["C"].DoubleValue;
Console.WriteLine($"Product: {product}, Qty: {quantity}, Price: {price:C}");
}
// Apply a filter and re-export to a new CSV
workBook.SaveAsCsv("filtered_output.csv", ",");
using IronXL;
// Load an existing CSV file into a workbook
WorkBook workBook = WorkBook.Load("sales_data.csv");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Iterate over rows and process data
foreach (var row in workSheet.Rows)
{
string product = row["A"].ToString();
int quantity = row["B"].IntValue;
decimal price = (decimal)row["C"].DoubleValue;
Console.WriteLine($"Product: {product}, Qty: {quantity}, Price: {price:C}");
}
// Apply a filter and re-export to a new CSV
workBook.SaveAsCsv("filtered_output.csv", ",");
Imports IronXL
' Load an existing CSV file into a workbook
Dim workBook As WorkBook = WorkBook.Load("sales_data.csv")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Iterate over rows and process data
For Each row In workSheet.Rows
Dim product As String = row("A").ToString()
Dim quantity As Integer = row("B").IntValue
Dim price As Decimal = CType(row("C").DoubleValue, Decimal)
Console.WriteLine($"Product: {product}, Qty: {quantity}, Price: {price:C}")
Next
' Apply a filter and re-export to a new CSV
workBook.SaveAsCsv("filtered_output.csv", ",")
IronXL経由でCSVファイルを読み込むと、並べ替え、フィルタリング、数式評価など、ワークシートAPIのすべての機能を利用できます。 SaveAsメソッドを使用すれば、読み込んだデータをExcelファイルとして保存することもできます。これにより、CSVファイルをXLSXファイルに変換する処理を1回のメソッド呼び出しで実行できます。これは、レポート生成サービスを構築する際によく求められる要件です。
CSVデータをエクスポートする前に、どのように検証すればよいですか?
エクスポート前のデータ検証は、下流のパイプライン障害を防ぐ。 IronXLセル値とセル型に直接アクセスできるため、書き込み前にnull値のチェック、数値範囲の強制、不正な日付の拒否などを行うことができます。
using IronXL;
WorkBook workBook = WorkBook.Load("input.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var errors = new List<string>();
for (int rowIdx = 1; rowIdx <= workSheet.RowCount; rowIdx++)
{
string productName = workSheet[$"A{rowIdx}"].StringValue;
double price = workSheet[$"C{rowIdx}"].DoubleValue;
if (string.IsNullOrWhiteSpace(productName))
errors.Add($"Row {rowIdx}: Product name is empty.");
if (price <= 0)
errors.Add($"Row {rowIdx}: Price must be greater than zero (found {price}).");
}
if (errors.Count == 0)
{
workBook.SaveAsCsv("validated_output.csv", ",");
Console.WriteLine("Export complete.");
}
else
{
foreach (var error in errors)
Console.WriteLine(error);
}
using IronXL;
WorkBook workBook = WorkBook.Load("input.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var errors = new List<string>();
for (int rowIdx = 1; rowIdx <= workSheet.RowCount; rowIdx++)
{
string productName = workSheet[$"A{rowIdx}"].StringValue;
double price = workSheet[$"C{rowIdx}"].DoubleValue;
if (string.IsNullOrWhiteSpace(productName))
errors.Add($"Row {rowIdx}: Product name is empty.");
if (price <= 0)
errors.Add($"Row {rowIdx}: Price must be greater than zero (found {price}).");
}
if (errors.Count == 0)
{
workBook.SaveAsCsv("validated_output.csv", ",");
Console.WriteLine("Export complete.");
}
else
{
foreach (var error in errors)
Console.WriteLine(error);
}
Imports IronXL
Dim workBook As WorkBook = WorkBook.Load("input.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim errors As New List(Of String)()
For rowIdx As Integer = 1 To workSheet.RowCount
Dim productName As String = workSheet($"A{rowIdx}").StringValue
Dim price As Double = workSheet($"C{rowIdx}").DoubleValue
If String.IsNullOrWhiteSpace(productName) Then
errors.Add($"Row {rowIdx}: Product name is empty.")
End If
If price <= 0 Then
errors.Add($"Row {rowIdx}: Price must be greater than zero (found {price}).")
End If
Next
If errors.Count = 0 Then
workBook.SaveAsCsv("validated_output.csv", ",")
Console.WriteLine("Export complete.")
Else
For Each error As String In errors
Console.WriteLine(error)
Next
End If
このパターンは、不正な行を黙ってエクスポートするのではなく、拒否してログに記録する必要があるETLパイプラインにおいて特に有効です。 IronXLのRangeRowとCellオブジェクトのセル・データ・アクセス・メソッドは強く型付けされた値を返し、無言の型強制エラーのリスクを減らします。
IronXLでCSVファイルを作成するにはどうすれば良いですか?
IronXLは、 CSVファイルの書き込みを、解析という難題から直接的な操作へと変革します。 CSV機能とExcelワークブックのサポート、数式評価、自動型処理を組み合わせることで、複数のライブラリの管理や手動データ変換の複雑さを解消します。
無料トライアルでは、開発期間中にライセンスキーを必要とせずに、複数シートのエクスポート、数式評価、クロスプラットフォーム展開など、すべての機能にフルアクセスできます。 本番環境への移行準備が整ったら、ライセンスは商用利用をカバーする単一の開発者向けティアから始まります。
始めるにあたって役立つ主なリソース:
- IronXLドキュメント-- 完全なAPIリファレンスと操作ガイド CSVからExcelへの変換ガイド- フォーマット変換の詳細な手順
- DataTable エクスポートチュートリアル-- データベース駆動型エクスポートパターン -ワークシート範囲操作- 大規模データセットを効率的に処理 -トラブルシューティングガイド- 一般的な統合問題の解決策
本番環境で使用可能なCSVワークフローを構築する準備はできていますか? 無料トライアルを開始して、5分以内に最初のCSVエクスポートを実行しましょう。
よくある質問
IronXLは何に使用されますか?
IronXLは、Excelファイルを操作するために設計された.NETライブラリであり、開発者がExcel文書を作成、読み取り、修正できるようにし、データ型を保持し、複雑なスプレッドシートシナリオを管理しながら、CSVなどのさまざまな形式にエクスポートできます。
IronXLは.NETでのCSVライティングにどのように役立ちますか?
IronXLはExcelワークブックをCSV形式にエクスポートする機能を提供し、データ型が保持され、複雑なスプレッドシートシナリオが効果的に処理されることを保証し、堅牢なCSVライティングソリューションを必要とする.NET開発者にとって理想的な選択肢となります。
なぜ開発者はCSV操作のためにIronXLの使用を検討すべきですか?
開発者は、IronXLを使用することで、ExcelファイルをCSVにシームレスにエクスポートできる能力、大規模データセットを処理する能力、およびデータ型の整合性を維持する能力を考慮すべきであり、.NETアプリケーションにおけるCSV操作のための優れたソリューションを提供します。
スプレッドシート管理のためにIronXLを使用する利点は何ですか?
スプレッドシート管理のためにIronXLを使用する利点には、Excelドキュメントの簡単な操作、CSVなどのさまざまなエクスポート形式へのサポート、および.NETアプリケーションにおける複雑なデータ構造や大規模なデータセットの効率的な処理が含まれます。
IronXLはCSVにエクスポートする際に大規模なExcelファイルを処理できますか?
はい、IronXLは大規模なExcelファイルを効率的に処理するように設計されており、パフォーマンスやデータの整合性を損なうことなく大量のデータをCSVにエクスポートすることを可能にします。
IronXLはCSVにエクスポートする際のデータ型保持をどのように保証していますか?
IronXLは元のデータ型と構造を維持しつつ、Excelデータを正確にCSV形式に変換することで、データ型の保持を確保します。これは正確なデータ処理を必要とするアプリケーションにとって重要です。
IronXLは複雑なスプレッドシートのシナリオに適していますか?
IronXLは複雑なスプレッドシートのシナリオに非常に適しており、複雑なExcelドキュメントを管理および操作するための高度な機能を提供し、データを正確にCSVまたは他の形式にエクスポートできることを確信させます。



