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

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

.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 のパッケージ マネージャー コンソールを開いて次を実行します:

Install-Package IronXl.Excel
Install-Package IronXl.Excel
SHELL

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

dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

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

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

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

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

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

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

IronXLは、CSVヘッダー、CSV列、CSV行を効率的に処理するLoadCSVメソッドにより、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}");
}
// 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}");
}
Imports IronXL

' Load CSV file into a WorkBook object for .NET Core CSV reading
Dim workbook = WorkBook.LoadCSV("Budget.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",")

' Access the default worksheet containing parsed CSV data
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Read specific cell values with type-safe methods
Dim cellValue As String = worksheet("A1").StringValue

' Iterate through a range for bulk CSV data processing
For Each cell In worksheet("A1:C10")
    Console.WriteLine($"Cell {cell.AddressString}: {cell.Text}")
Next
$vbLabelText   $csharpLabel

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

入出力

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

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

デフォルトのプロパティ WorkSheet を使用すると、解析された CSV データをワークシートとしてすぐに取得でき、セル単位または範囲単位でのデータ抽出が可能になります。 組み込みの型変換による型安全な操作を行うには、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}");
}
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}");
}
Imports System
Imports System.Collections.Generic

Public Class Customer
    Public Property Name As String
    Public Property Age As Integer
    Public Property City As String

    Public Sub New(name As String, age As Integer, city As String)
        Me.Name = name
        Me.Age = age
        Me.City = city
    End Sub

    Public Function IsValid() As Boolean
        Return Not String.IsNullOrEmpty(Name) AndAlso Age > 0
    End Function
End Class

' Parse CSV rows into typed objects
Dim customers As New List(Of Customer)()
For row As Integer = 2 To worksheet.RowCount
    Dim customer As New Customer(
        Name:=worksheet($"A{row}").StringValue,
        Age:=worksheet($"B{row}").IntValue,
        City:=worksheet($"C{row}").StringValue
    )
    If customer.IsValid() Then
        customers.Add(customer)
    End If
Next

' Output the records
For Each record In customers
    Console.WriteLine($"Customer: {record.Name}, Age: {record.Age}, City: {record.City}")
Next
$vbLabelText   $csharpLabel

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"]}");
}
// 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"]}");
}
Imports IronXL
Imports System.Data

' Load CSV with semicolon delimiter
Dim workbook As WorkBook = WorkBook.LoadCSV("products.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=";")
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
' Convert to DataTable for database operations
Dim dataTable As DataTable = worksheet.ToDataTable(True)
' Process the DataTable
For Each row As DataRow In dataTable.Rows
    Console.WriteLine($"Product: {row("ProductName")}, Price: {row("Price")}")
Next
$vbLabelText   $csharpLabel

ToDataTable メソッドは、ワークシートのデータを.NET DataTable に変換します。ブール型のパラメーターは、最初の行を列ヘッダーとして使用するかどうかを示します。 この変換は、データベース操作、 ASP.NET Coreアプリケーションでのデータバインディング、または 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.");
// 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.");
Imports System.Data

' Load a DataTable from your data source
Dim exportTable As DataTable = GetProcessedData() ' your data source method

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

' Write headers from DataTable columns
For col As Integer = 0 To exportTable.Columns.Count - 1
    outputSheet(0, col).Value = exportTable.Columns(col).ColumnName
Next

' Write rows
For row As Integer = 0 To exportTable.Rows.Count - 1
    For col As Integer = 0 To exportTable.Columns.Count - 1
        outputSheet(row + 1, col).Value = exportTable.Rows(row)(col)?.ToString()
    Next
Next

' Save as CSV
outputWorkbook.SaveAsCsv("output.csv", delimiter:=","c)
Console.WriteLine("Export complete.")
$vbLabelText   $csharpLabel

このパターンは、データの読み込み、変換、そして新しいファイルへの書き込みを行う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: ",");
// 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: ",");
Imports IronXL

' Load CSV and save as Excel
Dim csvWorkbook As WorkBook = WorkBook.LoadCSV("report.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",")

' Save as Excel file
csvWorkbook.SaveAs("report.xlsx")

' Or load Excel and export to CSV
Dim excelWorkbook As WorkBook = WorkBook.Load("data.xlsx")
excelWorkbook.SaveAsCsv("exported_data.csv", delimiter:=",")
$vbLabelText   $csharpLabel

この双方向の変換はデータの整合性を保持し、さまざまなファイル変換シナリオに対するフォーマットの柔軟性を提供します。 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}");
}
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}");
}
Imports System

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

Dim batchSize As Integer = 1000
Dim totalRows As Integer = worksheet.RowCount

For start As Integer = 1 To totalRows Step batchSize
    Dim [end] As Integer = Math.Min(start + batchSize - 1, totalRows)
    For row As Integer = start To [end]
        Dim id As String = worksheet($"A{row}").StringValue
        Dim name As String = worksheet($"B{row}").StringValue
        ' Process each record here
        Console.WriteLine($"Row {row}: {id} - {name}")
    Next
    Console.WriteLine($"Processed batch {start}-{end}")
Next
$vbLabelText   $csharpLabel

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

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

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

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

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

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

. .NET Core CSV リーダー、 IronXL の使用方法と実践例: 画像 10 - ライセンス

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

購入後、 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.");
// 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.");
Imports IronXl

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

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

ライセンスキーの割り当ては、アプリケーションの最も早いエントリポイント(通常はトップレベルのステートメントプロジェクト内の Program.cs)に配置して、以降のすべての呼び出しが完全にライセンスされるようにします。 詳しい手順については、 IronXLライセンスキーガイドを参照してください。

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

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

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

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

よくある質問

.NET CoreでのCSV処理にIronXLが最適な理由は何ですか?

IronXLはCSVとExcelの両方の形式をシームレスに扱うことができ、特に大規模なバッチ処理シナリオにおいて、堅牢な例外処理と優れたパフォーマンス最適化を提供します。

IronXLはどのようにしてCSVファイルを読み込む際のパフォーマンスを向上させるのですか?

IronXLは大規模なバッチ処理に最適化されており、さまざまな区切り文字やデータ型の変換をスムーズに処理し、効率的なCSVファイル操作を保証します。

IronXLはCSVファイルの異なる区切り文字を扱えますか?

IronXLは様々な区切り文字を持つCSVファイルを効率的に処理することができます。

IronXLはCSV処理の非同期処理をサポートしていますか?

IronXLは非同期操作をサポートしており、ノンブロッキング操作を可能にすることで、CSV解析中のアプリケーションの応答性を向上させています。

IronXLはオープンソースのCSVユーティリティに貢献している開発者をどのように支援していますか?

IronXLは明確なAPIを提供し、特に繰り返される値や重複するエントリを含むデータセット、あるいはデータ検証を必要とするデータセットを扱う場合に、開発者にとって貴重なリファレンスとなります。

他のCSV解析ライブラリと比較してIronXLを使用する利点は何ですか?

IronXLはExcelとの相互運用性、堅牢な例外処理、強化されたパフォーマンスで際立っており、CsvHelperやTextFieldParserのようなライブラリと比較して包括的なソリューションとなっています。

IronXLはCSVインポート時のデータ検証に使用できますか?

IronXLの機能にはデータ検証も含まれており、データインポートの過程で重複項目や繰り返し値のあるデータセットを管理する際に特に役立ちます。

IronXLは.NET Coreアプリケーションと互換性がありますか?

IronXLは.NET Coreアプリケーションとシームレスに統合できるように設計されており、CSVの読み取りと処理に信頼性の高いソリューションを提供します。

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

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね