IRONXLの使用 CSV .NETを読む:IronXLを使った最もシンプルなC#アプローチ カーティス・チャウ 更新日:2026年1月5日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る Read CSV .NET:IronXLを使った最もシンプルなC#アプローチ .NETアプリケーションでのCSVファイルの読み書きは、適切なライブラリを使えば驚くほど簡単になります。 開発者は、区切り文字、引用符で囲まれたフィールド、さまざまなデータ型を処理するためのカスタム解析ロジックを書く代わりに、単一のメソッド呼び出しでCSVデータをロードし、テーブル形式で構造化されたスプレッドシートデータとしてすぐにアクセスすることができます。 IronXLは、カンマ区切りのファイルをExcelのワークブックとして扱うことで、CSV処理を変換します。 この.NETライブラリは、DataTable変換、セルレベルのアクセス、シームレスなExcel形式出力などの強力な機能を提供しながら、手作業による文字列解析の複雑さを解消します。 このライブラリは、Microsoft Officeのインストールを必要とせず、.NET Framework、.NET Core、および.NET 5+で動作するため、ASP.NET Coreおよび.NET Core Web APIプロジェクトに最適です。 このガイドでは、CSVファイルの読み込み、カスタム区切り文字の処理、レコードのDataTablesへの変換、CSVファイルのExcelフォーマットへの書き込みなど、実用的なテクニックを最小限のコードで紹介します。 各コード例には、システムの動作を理解するための詳細な説明が含まれています。 CSVファイル入門 CSVファイル(Comma Separated Values)は、そのシンプルさと幅広い互換性のおかげで、データ交換やストレージの定番です。 データをデータベースにインポートする場合でも、レポートをエクスポートする場合でも、サードパーティーのシステムと統合する場合でも、CSVファイルは表形式のデータを扱うための軽量で柔軟なフォーマットを提供します。 .NETでは、CSVファイルを扱うことは一般的な作業です。開発者は、ビジネスロジック、レポート作成、データ移行ワークフローの一環として、CSVデータを解析、読み取り、書き込む必要があります。 .NETシステムは、基本的な文字列やファイル操作からCsvHelperのような堅牢なライブラリまで、CSVファイルを処理する方法をいくつか提供しています。 カンマが引用符で囲まれたフィールドの中やデータ自体の一部として現れると、単純なカンマであっても複雑さを引き起こす可能性があるため、適切な構文解析が不可欠です。 適切な.NETツールを活用し、CSV解析のニュアンスを理解することで、開発者はデータの整合性を確保し、アプリケーションのデータ処理を効率化することができます。 .NETでCSVファイルを読む最も簡単な方法は何ですか? 最も簡単な方法は、WorkBook.LoadCSVメソッドを使用して、CSVデータをワークブック構造に直接インポートする方法です。 この単一のメソッドでは、構文解析、区切り文字の検出、およびデータの整理が自動的に行われるため、新しい StreamReader を作成したり、各文字列行を手動で処理したりする必要はありません。 IronXLはVisual StudioのNuGetパッケージマネージャーコンソールからインストールしてください。 .NET プロジェクトを開いて実行してください: Install-Package IronXL.Excel Read CSV .NET:IronXLを使用した最もシンプルなC#アプローチ: イメージ1 - インストール using IronXL; using System; class Program { static void Main(string[] args) { // Load CSV file into a workbook with one method call WorkBook workbook = WorkBook.LoadCSV("sales_data.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); // Access the default worksheet containing CSV data WorkSheet sheet = workbook.DefaultWorkSheet; // Display all rows and CSV columns foreach (var row in sheet.Rows) { foreach (var cell in row) { Console.Write(cell.Value + "\t"); } Console.WriteLine(); } } } using IronXL; using System; class Program { static void Main(string[] args) { // Load CSV file into a workbook with one method call WorkBook workbook = WorkBook.LoadCSV("sales_data.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); // Access the default worksheet containing CSV data WorkSheet sheet = workbook.DefaultWorkSheet; // Display all rows and CSV columns foreach (var row in sheet.Rows) { foreach (var cell in row) { Console.Write(cell.Value + "\t"); } Console.WriteLine(); } } } Imports IronXL Imports System Module Program Sub Main(args As String()) ' Load CSV file into a workbook with one method call Dim workbook As WorkBook = WorkBook.LoadCSV("sales_data.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",") ' Access the default worksheet containing CSV data Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Display all rows and CSV columns For Each row In sheet.Rows For Each cell In row Console.Write(cell.Value & vbTab) Next Console.WriteLine() Next End Sub End Module $vbLabelText $csharpLabel 入力 Read CSV .NET:IronXLを使用した最も簡単なC#のアプローチ:画像2 - CSV入力のサンプル<a href="/staticassets/excelblog/read-csv-net/2 "webp">Read CSV .NET: C#のアプローチ 出力 Read CSV .NET:IronXLを使用した最もシンプルなC#アプローチ:画像3 - コンソール出力Read CSV .NET: C# Approach Using IronXL: Image 3 - Console Output. また、.NETでCSV操作を処理するためによく使われているCsvHelperライブラリを使用して、CSVファイルを読み込むこともできます。 CsvHelperを使ってCSVファイルを読み込むには、StreamReaderを作成し、新しいCsvReaderインスタンスを作成します: using (var reader = new StreamReader("sales_data.csv")) using (var csv = new CsvHelper.CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture)) { var records = csv.GetRecords<dynamic>().ToList(); // Process records as needed } using (var reader = new StreamReader("sales_data.csv")) using (var csv = new CsvHelper.CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture)) { var records = csv.GetRecords<dynamic>().ToList(); // Process records as needed } Imports System.Globalization Imports System.IO Imports CsvHelper Using reader As New StreamReader("sales_data.csv") Using csv As New CsvReader(reader, CultureInfo.InvariantCulture) Dim records = csv.GetRecords(Of Object)().ToList() ' Process records as needed End Using End Using $vbLabelText $csharpLabel StreamWriterとCsvWriterのインスタンスを作成することで、CsvHelperを使ってCSVファイルに書き込むこともできます。 LoadCSVメソッドは、ファイルパス、内部表現のためのターゲットExcelフォーマット、値を区切る区切り文字の3つのパラメータを受け入れます。 読み込まれたCSVコンテンツは、DefaultWorkSheetプロパティを通してアクセスできるようになります。 ネストされたループ構造は、ワークシート内の各Rowを繰り返し、次にその行内の各Cellを繰り返します。 Valueプロパティはセルの内容をオブジェクトとして返し、タブ文字はコンソール出力で読みやすい列の区切りを作成します。 このパターンは、ソースファイルの行数が10行であっても、数千レコードの大きなCSVファイルをメモリ内で処理しても、同じように機能します。 手動 CSV 構文解析とライブラリの使用はどのように比較されますか? IronXLが排除する複雑さを理解することは、その価値を理解することにつながります。 手作業によるCSVの解析では、単純に見えてすぐに問題となる複数のエッジケースを、どのようなプロジェクトでも処理する必要があります。 using System; using System.IO; class Program { static void Main(string[] args) { // Manual approach - requires extensive code for basic functionality string path = "data.csv"; string[] lines = File.ReadAllLines(path); foreach (string line in lines) { // This breaks when CSV fields contain commas inside quotes string[] fields = line.Split(','); foreach (string field in fields) { Console.Write(field.Trim() + "\t"); } Console.WriteLine(); } } } using System; using System.IO; class Program { static void Main(string[] args) { // Manual approach - requires extensive code for basic functionality string path = "data.csv"; string[] lines = File.ReadAllLines(path); foreach (string line in lines) { // This breaks when CSV fields contain commas inside quotes string[] fields = line.Split(','); foreach (string field in fields) { Console.Write(field.Trim() + "\t"); } Console.WriteLine(); } } } Imports System Imports System.IO Module Program Sub Main(args As String()) ' Manual approach - requires extensive code for basic functionality Dim path As String = "data.csv" Dim lines As String() = File.ReadAllLines(path) For Each line As String In lines ' This breaks when CSV fields contain commas inside quotes Dim fields As String() = line.Split(","c) For Each field As String In fields Console.Write(field.Trim() & vbTab) Next Console.WriteLine() Next End Sub End Module $vbLabelText $csharpLabel 入力 Read CSV .NET:IronXLを使用した最も簡単なC#アプローチ:画像4 - CSV入力Read CSV .NET: C# Approach Using IronXL: Image 4 - CSV Input. 出力 Read CSV .NET:IronXLを使用した最も簡単なC#のアプローチ: 画像5 - 手動CSVパース出力 CSVフィールドに引用符で囲まれた文字列の中にカンマが埋め込まれている場合、手作業でのアプローチは失敗します。 CSVファイルを適切に読み書きするには、引用符で囲まれたフィールド、エスケープされた引用符、複数行の値、さまざまなエンコーディングを処理する必要があります。 CsvHelper ライブラリや同様の CSV Helper パッケージを使用すると依存関係が追加されますが、独自のパーサーを開発することは、新しい StreamReader</code> を作成し、<code>var リーダーパターンを実装し、ファイル読み取りプロセス全体を自分で管理することを意味します。 using IronXL; using System; class Program { static void Main(string[] args) { // IronXL approach - handles all edge cases automatically WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); var records = workbook.DefaultWorkSheet.Rows; foreach (var row in records) { foreach (var cell in row) { Console.Write(cell.Value + "\t"); } Console.WriteLine(); } } } using IronXL; using System; class Program { static void Main(string[] args) { // IronXL approach - handles all edge cases automatically WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); var records = workbook.DefaultWorkSheet.Rows; foreach (var row in records) { foreach (var cell in row) { Console.Write(cell.Value + "\t"); } Console.WriteLine(); } } } Imports IronXL Imports System Class Program Shared Sub Main(args As String()) ' IronXL approach - handles all edge cases automatically Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",") Dim records = workbook.DefaultWorkSheet.Rows For Each row In records For Each cell In row Console.Write(cell.Value & vbTab) Next Console.WriteLine() Next End Sub End Class $vbLabelText $csharpLabel IronXLバージョンは、引用符で囲まれたCSVフィールド、特殊文字、エンコーディングのバリエーションを適切に処理しながら、同じタスクを達成します。 WorkBookクラスは内部で解析の複雑さを管理するため、開発者はデータを抽出するのではなく、データを扱うことに集中できます。 新しいCsvReaderインスタンスやCsvHelperパッケージの設定を必要とするアプローチとは異なり、IronXLは追加の設定を必要としません。 異なる CSV デリミタはどのように扱えますか? CSVファイルでは、区切り文字としてカンマが使用されるとは限りません。 ヨーロッパのシステムエクスポートでは、10進数でカンマが使用されるため、セミコロンが頻繁に使用され、タブ区切り値(TSV)やパイプ区切りファイルは、さまざまなアプリケーションからのデータエクスポートに定期的に登場します。 using IronXL; using System; class Program { static void Main(string[] args) { // Reading a semicolon-delimited file (common in European exports) WorkBook euroData = WorkBook.LoadCSV("german_report.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ";"); // Reading a tab-separated file WorkBook tsvData = WorkBook.LoadCSV("exported_data.tsv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: "\t"); // Reading a pipe-delimited file WorkBook pipeData = WorkBook.LoadCSV("legacy_system.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: "|"); // Access data identically regardless of original delimiter WorkSheet sheet = euroData.DefaultWorkSheet; int rowsCount = sheet.RowCount; Console.WriteLine($"Loaded {rowsCount} rows with {sheet.ColumnCount} CSV columns"); } } using IronXL; using System; class Program { static void Main(string[] args) { // Reading a semicolon-delimited file (common in European exports) WorkBook euroData = WorkBook.LoadCSV("german_report.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ";"); // Reading a tab-separated file WorkBook tsvData = WorkBook.LoadCSV("exported_data.tsv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: "\t"); // Reading a pipe-delimited file WorkBook pipeData = WorkBook.LoadCSV("legacy_system.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: "|"); // Access data identically regardless of original delimiter WorkSheet sheet = euroData.DefaultWorkSheet; int rowsCount = sheet.RowCount; Console.WriteLine($"Loaded {rowsCount} rows with {sheet.ColumnCount} CSV columns"); } } Imports IronXL Imports System Class Program Shared Sub Main(args As String()) ' Reading a semicolon-delimited file (common in European exports) Dim euroData As WorkBook = WorkBook.LoadCSV("german_report.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=";") ' Reading a tab-separated file Dim tsvData As WorkBook = WorkBook.LoadCSV("exported_data.tsv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=vbTab) ' Reading a pipe-delimited file Dim pipeData As WorkBook = WorkBook.LoadCSV("legacy_system.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:="|") ' Access data identically regardless of original delimiter Dim sheet As WorkSheet = euroData.DefaultWorkSheet Dim rowsCount As Integer = sheet.RowCount Console.WriteLine($"Loaded {rowsCount} rows with {sheet.ColumnCount} CSV columns") End Sub End Class $vbLabelText $csharpLabel LoadCSVのlistDelimiterパラメータは、フィールドの区切り文字として任意の1文字またはエスケープシーケンスを受け入れます。 タブ文字はtエスケープシーケンスを使用します。 ロード後、データ構造は元の形式に関係なく一貫性を保つため、区切り文字が異なる複数のソースからのCSVファイルを簡単に処理できます。 ほとんどのCSVファイルのデフォルト値はカンマですが、この柔軟性により、プロジェクトが遭遇するあらゆるバリエーションに対応できます。 入力 Read CSV .NET:IronXLを使用した最も簡単なC#のアプローチ: イメージ6 - セミコロン区切りのCSVファイル入力 出力 Read CSV .NET:IronXLを使用した最も簡単なC#のアプローチ: イメージ7 - セミコロン区切り出力<a href="/staticassets/excel-blog/read-csv-net/read-csv-net-7 "webp.jp RowCountとColumnCountクラスのプロパティは、ファイルが正しく読み込まれたことを素早く確認できるため、見慣れないデータソースを扱う場合や、ASP.NET Coreアプリケーションでユーザーのアップロードを検証する場合に特に役立ちます。 CSVをDataTableに変換する最良の方法は何ですか? CSVデータをDataTableに変換することで、データベース操作、UIアプリケーションでのデータバインディング、LINQクエリとの統合が可能になります。 ToDataTableメソッドは、1回の呼び出しでこの変換を実行します。 using IronXL; using System; using System.Data; class Program { static void Main(string[] args) { // Load CSV and convert to DataTable WorkBook workbook = WorkBook.LoadCSV("customers.csv", ExcelFileFormat.XLSX, ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Convert worksheet to DataTable - true parameter uses CSV file header as column names DataTable dataTable = sheet.ToDataTable(true); // DataTable is now ready for database operations, binding, or LINQ queries Console.WriteLine($"DataTable created with {dataTable.Columns.Count} columns:"); foreach (DataColumn column in dataTable.Columns) { // Property names from CSV header become column names Console.WriteLine($" - {column.ColumnName}"); } Console.WriteLine($"\nTotal records: {dataTable.Rows.Count}"); // Access data using standard DataTable syntax foreach (DataRow row in dataTable.Rows) { // Access by column index or name attribute string name = row["Name"].ToString(); string email = row["Email"].ToString(); Console.WriteLine($"Customer: {name}, Email: {email}"); } } } using IronXL; using System; using System.Data; class Program { static void Main(string[] args) { // Load CSV and convert to DataTable WorkBook workbook = WorkBook.LoadCSV("customers.csv", ExcelFileFormat.XLSX, ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Convert worksheet to DataTable - true parameter uses CSV file header as column names DataTable dataTable = sheet.ToDataTable(true); // DataTable is now ready for database operations, binding, or LINQ queries Console.WriteLine($"DataTable created with {dataTable.Columns.Count} columns:"); foreach (DataColumn column in dataTable.Columns) { // Property names from CSV header become column names Console.WriteLine($" - {column.ColumnName}"); } Console.WriteLine($"\nTotal records: {dataTable.Rows.Count}"); // Access data using standard DataTable syntax foreach (DataRow row in dataTable.Rows) { // Access by column index or name attribute string name = row["Name"].ToString(); string email = row["Email"].ToString(); Console.WriteLine($"Customer: {name}, Email: {email}"); } } } Imports IronXL Imports System Imports System.Data Module Program Sub Main(args As String()) ' Load CSV and convert to DataTable Dim workbook As WorkBook = WorkBook.LoadCSV("customers.csv", ExcelFileFormat.XLSX, ",") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Convert worksheet to DataTable - true parameter uses CSV file header as column names Dim dataTable As DataTable = sheet.ToDataTable(True) ' DataTable is now ready for database operations, binding, or LINQ queries Console.WriteLine($"DataTable created with {dataTable.Columns.Count} columns:") For Each column As DataColumn In dataTable.Columns ' Property names from CSV header become column names Console.WriteLine($" - {column.ColumnName}") Next Console.WriteLine($"\nTotal records: {dataTable.Rows.Count}") ' Access data using standard DataTable syntax For Each row As DataRow In dataTable.Rows ' Access by column index or name attribute Dim name As String = row("Name").ToString() Dim email As String = row("Email").ToString() Console.WriteLine($"Customer: {name}, Email: {email}") Next End Sub End Module $vbLabelText $csharpLabel ToDataTable の boolean パラメータは、最初の行が列ヘッダ (true) になるか、データ (false) になるかを決定します。 true に設定すると、結果の DataTable のカラムは、CSV ファイルのヘッダー行からのプロパティ名を持ち、row["Name"] のようなカラム名を使用した直感的なデータアクセスが可能になります。 この変換は、SqlBulkCopyを使用したデータベースの一括挿入、WindowsフォームアプリケーションのDataGridViewコントロールへの入力、またはLINQ式を使用した複雑なデータ変換を必要とするシナリオに役立ちます。 DataTableフォーマットは、.NET Core Web APIプロジェクトでEntity Frameworkやその他のORMツールとも自然に統合されます。 CSVファイルをExcel形式に変換できますか? IronXLの特筆すべき機能の一つは、CSVデータを適切なExcel形式に変換することです。 これは、元々フラットなCSVデータに数式、フォーマット、チャート、複数のワークシートを追加することを可能にします。 using IronXL; using System; class Program { static void Main(string[] args) { // Load CSV data from file path string path = "quarterly_sales.csv"; WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ","); // Save as Excel XLSX format - create new Excel file workbook.SaveAs("quarterly_sales.xlsx"); // Alternative: Save as legacy XLS format for older Excel versions workbook.SaveAs("quarterly_sales.xls"); Console.WriteLine("CSV successfully converted to Excel format"); } } using IronXL; using System; class Program { static void Main(string[] args) { // Load CSV data from file path string path = "quarterly_sales.csv"; WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ","); // Save as Excel XLSX format - create new Excel file workbook.SaveAs("quarterly_sales.xlsx"); // Alternative: Save as legacy XLS format for older Excel versions workbook.SaveAs("quarterly_sales.xls"); Console.WriteLine("CSV successfully converted to Excel format"); } } Imports IronXL Imports System Module Program Sub Main(args As String()) ' Load CSV data from file path Dim path As String = "quarterly_sales.csv" Dim workbook As WorkBook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",") ' Save as Excel XLSX format - create new Excel file workbook.SaveAs("quarterly_sales.xlsx") ' Alternative: Save as legacy XLS format for older Excel versions workbook.SaveAs("quarterly_sales.xls") Console.WriteLine("CSV successfully converted to Excel format") End Sub End Module $vbLabelText $csharpLabel SaveAsメソッドは、ファイルの拡張子に基づいて出力形式を自動的に決定します。 XLSXは Excel 2007 以降と互換性のある最新の Office Open XML ファイルを作成し、XLSは古いアプリケーション用のレガシー Binary Interchange File Format ドキュメントを作成します。 入力 Read CSV .NET:IronXLを使用した最も簡単なC#のアプローチ:イメージ8 - CSVデータ。 出力 Read CSV .NET:IronXLを使用した最もシンプルなC#アプローチ:画像9 - Excel出力Read CSV .NET: The Simplest C# Approach Using IronXL: Image 9 - Excel Output. Read CSV .NET:IronXLを使用した最も簡単なC#のアプローチ:画像10 - CSVからExcelへの出力Read CSV .NET: The Simplest C# Approach Using IronXL: Image 10 - CSV to Excel Output. このワークフローは、ユーザーに配布する前に、データベースやAPIからのCSVエクスポートを強化する必要がある場合に特に役立ちます。 変換後、IronXLの包括的な編集機能により、Excelファイルに書式や数式を追加したり、他のワークシートと組み合わせたりすることができます。 CSVファイルを書くために新しいStreamWriterインスタンスを持つvarライターを使うアプローチとは異なり、IronXLはファイル変換全体をシームレスに処理します。 CSVデータ内の特定のセルの値にはどのようにアクセスしますか? IronXLはすべてのレコードを反復処理するだけでなく、使い慣れたExcelスタイルのアドレス指定を使って直接セルにアクセスすることもできます。 これにより、さまざまなデータ型にわたって、的を絞ったデータ抽出と型安全な値の取得が可能になります。 using IronXL; using System; // Example class to demonstrate structured data access public class Employee { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } class Program { static void Main(string[] args) { WorkBook workbook = WorkBook.LoadCSV("inventory.csv", ExcelFileFormat.XLSX, ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Access specific cells using Excel-style addresses by index string productName = sheet["A2"].StringValue; int quantity = sheet["B2"].IntValue; decimal price = sheet["C2"].DecimalValue; Console.WriteLine($"Product: {productName}"); Console.WriteLine($"Quantity: {quantity}"); Console.WriteLine($"Price: ${price:F2}"); // Access a range of cells - return records from column A var productRange = sheet["A2:A10"]; Console.WriteLine("\nAll products:"); foreach (var cell in productRange) { Console.WriteLine($" - {cell.StringValue}"); } } } using IronXL; using System; // Example class to demonstrate structured data access public class Employee { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } class Program { static void Main(string[] args) { WorkBook workbook = WorkBook.LoadCSV("inventory.csv", ExcelFileFormat.XLSX, ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Access specific cells using Excel-style addresses by index string productName = sheet["A2"].StringValue; int quantity = sheet["B2"].IntValue; decimal price = sheet["C2"].DecimalValue; Console.WriteLine($"Product: {productName}"); Console.WriteLine($"Quantity: {quantity}"); Console.WriteLine($"Price: ${price:F2}"); // Access a range of cells - return records from column A var productRange = sheet["A2:A10"]; Console.WriteLine("\nAll products:"); foreach (var cell in productRange) { Console.WriteLine($" - {cell.StringValue}"); } } } Imports IronXL Imports System ' Example class to demonstrate structured data access Public Class Employee Public Property Id As Integer Public Property Name As String Public Property Age As Integer End Class Class Program Shared Sub Main(args As String()) Dim workbook As WorkBook = WorkBook.LoadCSV("inventory.csv", ExcelFileFormat.XLSX, ",") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Access specific cells using Excel-style addresses by index Dim productName As String = sheet("A2").StringValue Dim quantity As Integer = sheet("B2").IntValue Dim price As Decimal = sheet("C2").DecimalValue Console.WriteLine($"Product: {productName}") Console.WriteLine($"Quantity: {quantity}") Console.WriteLine($"Price: ${price:F2}") ' Access a range of cells - return records from column A Dim productRange = sheet("A2:A10") Console.WriteLine(vbCrLf & "All products:") For Each cell In productRange Console.WriteLine($" - {cell.StringValue}") Next End Sub End Class $vbLabelText $csharpLabel セルのアドレス指定はExcelの慣例に従い、アルファベットはCSVの列(A、B、C)を表し、数字は行のインデックス位置(1、2、3)を表します。 Cellクラスは、StringValue、IntValue、DecimalValue、BoolValue、DateTimeValueを含む型固有のアクセサを提供します。 これらのアクセサは、解析と変換を自動的に処理するため、手動での型キャストが不要になり、すべてを文字列値として格納する場合と比較してメモリのオーバーヘッドが削減されます。 A2:A10のような記法を使用した範囲選択は、反復、集約関数、一括操作をサポートするRangeオブジェクトを返します。 これは、大きなCSVファイルから特定の列や長方形のデータ領域を抽出する際に役立ちます。 例えば、特定の列から新しい値のリストを作成したり、フィルタリングされたデータを別のファイルに書き込んだりします。 CSVファイル操作におけるエラー処理 .NETアプリケーションでCSVファイルを扱う場合、堅牢なエラー処理が不可欠です。 CSVファイルの読み書きは、ファイルの欠落、不正なデータ、予期しない解析エラーなど、さまざまな問題につながる可能性があります。 これらのシナリオを管理するには、ファイルやデータの操作をtry-catchブロックでラップするのがベストプラクティスです。 結論 .NETでCSVファイルを読むには、適切なアプローチを使用すれば、最小限の労力で済みます。 IronXLのLoadCSVメソッドは複雑な構文解析を自動的に処理し、さまざまな区切り文字をサポートし、使い慣れたスプレッドシートの概念を通して構造化データにすぐにアクセスできるようにします。ASP.NET Coreアプリケーション、.NET Core Web API、またはコンソール・プロジェクトのいずれを構築する場合でも、このライブラリはCSV処理を合理化します。 無料トライアルを開始して、IronXLが.NETプロジェクトのCSVファイルの読み込みをどのように簡素化するかを体験してください。 本番環境への導入については、ライセンスオプションが$799から始まり、永久使用権と1年間のサポートが含まれます。 よくある質問 C#でCSVファイルを読む最も簡単な方法は何ですか? C#でCSVファイルを読む最も簡単な方法は、CSVデータを扱うための簡単で効率的な方法を提供するXLを使用することです。 IronXLは大きなCSVファイルを効率的に処理できますか? IronXLは大きなCSVファイルを効率的に処理するように設計されており、パフォーマンス上の問題なく大規模なデータセットを処理するのに適しています。 IronXLは.NETアプリケーションと互換性がありますか? IronXLは.NETアプリケーションと完全に互換性があり、開発者はCSV読み取り機能をC#プロジェクトに簡単に統合することができます。 IronXLは異なる区切り文字のCSVファイルの読み込みをサポートしていますか? IronXLは様々なデリミター付きのCSVファイルの読み込みをサポートしており、異なるフォーマットのファイルにも柔軟に対応できます。 IronXLはヘッダー付きのCSVファイルを解析できますか? はい、IronXLはヘッダー付きのCSVファイルを解析することができます。 IronXLはどのようにCSVデータ操作を簡素化するのですか? IronXLはC#で直接CSVデータを読み、編集し、書き込む直感的な方法を提供することで、CSVデータ操作を簡素化します。 IronXLでCSVファイルを非同期で読み込むことはできますか? IronXLは非同期処理をサポートしており、メインアプリケーションのスレッドをブロックすることなくCSVファイルを読み込むことができます。 IronXLはCSVデータをExcel形式に変換できますか? IronXLはCSVデータをExcel形式に変換し、Excelの高度な機能をデータ分析やプレゼンテーションに活用することができます。 IronXLはCSVファイルを読み込むための依存関係がありますか? IronXLはCSVファイルを読み込むために外部依存を必要としないスタンドアローン・ライブラリであり、プロジェクトでのセットアップ・プロセスを簡素化します。 IronXLを使ってCSVから他の形式にデータをエクスポートできますか? IronXLはCSVからExcelを含む様々なフォーマットにデータをエクスポートすることができます。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 2026年2月15日 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法を学びます。 詳しく読む 公開日 2026年2月15日 IronXLを使用してOfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法 IronXLを使用して、OfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法について説明します。 詳しく読む 公開日 2026年2月15日 C# CSV to XLSX: 完全な開発者ガイド IronXLを使用してC#でCSVをXLSXに変換します。CSVファイルを読み込み、データ型を保持し、グラフを追加し、Microsoft Officeに依存せずにExcel形式にエクスポートします。 詳しく読む IronXL を使用した C# CSV 保存C# DataGridView書式付きExcelへ...
公開日 2026年2月15日 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法を学びます。 詳しく読む
公開日 2026年2月15日 IronXLを使用してOfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法 IronXLを使用して、OfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法について説明します。 詳しく読む
公開日 2026年2月15日 C# CSV to XLSX: 完全な開発者ガイド IronXLを使用してC#でCSVをXLSXに変換します。CSVファイルを読み込み、データ型を保持し、グラフを追加し、Microsoft Officeに依存せずにExcel形式にエクスポートします。 詳しく読む