C#でCSVファイルをDataTableに読み込む方法
C#でCSVファイルをDataTable@に変換するのはIronXLを使えば簡単です:任意のCSVファイルを読み込むにはWorkBook.LoadCSV()を使い、適切なカラムヘッダーを持つ構造化されたDataTableを作成するにはToDataTable(true)を呼び出します。
CSVファイルを扱うことは、売上レポートのインポート、在庫処理、顧客レコードの同期など、 .NET開発者にとって一般的な作業です。 CSVファイルをDataTableに変換すると、操作、分析、データベーステーブルへの挿入が簡単になります。 IronXLライブラリは、C#アプリケーションにおけるExcelおよびCSV操作を処理するための、あらゆる機能を備えたソリューションを提供します。Excelのインストールは不要です。
C#でCSVファイルを読み込むのは難しい場合がある。 大きなファイル、異なる区切り文字、または埋め込まれたカンマは、複雑な解析ロジックを必要とすることが多い。 IronXLはこれを簡素化します。わずか数行のコードで、任意のファイルパスからCSVファイルを読み込み、適切なカラムヘッダを持つDataTableに変換し、データベースの一括操作に備えることができます。 このアプローチは、C#でExcelデータを扱う際に特に有用です。
このガイドでは、以下の方法を学びます。
- IronXLのCSV読み込み機能を使用して、C#でCSVファイルを
DataTableに読み込みます。 - カンマ、タブ、セミコロンなどのさまざまな区切り文字に対応する
- エクスポート機能を使用して、
DataTable@をSQL Serverに効率的に直接インポートします。 - メモリの問題に直面することなく、大規模なデータセットを確実に管理
このチュートリアルを終える頃には、 .NET 10アプリケーションでIronXLを使用してCSVデータを実用的な情報に変換するための、完全かつ実践的なワークフローが身についているでしょう。
なぜCSVからDataTableへの変換が重要なのですか?
CSVからDataTableへの変換により、開発者はカンマ区切りの値を構造化オブジェクトに変換して、さらに処理することができます。 在庫データ、顧客記録、取引ログのいずれを扱うにせよ、CSVを効率的にDataTableに変換することは非常に重要です。 最初の行を列ヘッダーとして使用することで、DataTable の列をデータベースのテーブルスキーマに合わせることができ、Excel to DataSet 操作に最適です。
従来のアプローチは、しばしば大きなファイル、異なる区切り文字、またはメモリ管理に苦慮します。 IronXLはこれらの課題を解消し、追加のコードなしでさまざまな区切り文字、引用符付きフィールド、埋め込みカンマを処理します。 IronXLのCSV読み取り機能は、一般的な課題を解消するとともに、データ検証やファイルサイズの制御といった追加機能を提供します。
他のデータ構造よりも`DataTable`@を使うべきときは?
CODE-42764は、メモリ上でデータベースのような操作が必要なときにうまく機能します。 これらは、SQL Serverへのデータインポート、UIコントロールへのデータバインディング、または構造化データに対してLINQクエリを実行する必要がある場合に最適です。 単なる配列やリストとは異なり、DataTablesは、スキーマ検証、テーブル間のリレーションシップ、ADO.NETとの直接統合を提供します。 より複雑なシナリオについては、必要に応じて@--CODE-42766--@と@@--CODE-42767--@の間で変換することもできます。
従来のCSV解析における一般的な問題点とは?
手動でのCSV解析は、引用符で囲まれたフィールド内にカンマが埋め込まれている場合、セル値に改行が含まれている場合、または区切り文字の使用方法が一貫していない場合など、特殊なケースで失敗することがよくあります。 大きなファイルの場合、すべてを一度にメモリに読み込むと、メモリ消費量が問題となる。 文字エンコーディングの問題は国際データに不具合を生じさせる可能性があり、また型推論では数値文字列が数値として誤って解釈されることがよくあります。 こうした課題があるからこそ、 IronXLのような構造化構文解析ライブラリが実運用アプリケーションにとって不可欠なものとなっているのです。
大きなCSVファイルで発生するメモリの問題を回避するにはどうすればよいでしょうか?
IronXLは、バッファリング読み込み技術を採用することで、大容量のCSVファイルを効率的に処理します。 ファイル全体を一度にメモリに読み込むのではなく、データをチャンク単位で処理することで、大きなファイルでもメモリ使用量を小さく抑えます。 これにより、メモリ割り当てが制限されるクラウド環境を含め、リソースが限られたサーバー環境に適しています。
IronXLのインストール方法を教えてください。
IronXLを使い始めるには、簡単なNuGetパッケージのインストールが必要です。 Visual StudioのNuGetパッケージマネージャーコンソールを開き、実行します:
Install-Package IronXL
Install-Package IronXL
または、 .NET CLI をご希望の場合は、以下の手順に従ってください。
dotnet add package IronXL
dotnet add package IronXL
インストールが完了したら、IronXL名前空間をプロジェクトに追加します:
using IronXL;
using System.Data;
using IronXL;
using System.Data;
Imports IronXL
Imports System.Data
これにより、Excelに依存することなく、すべてのCSV処理機能にアクセスできます。 詳細については、IronXLのドキュメントおよびNuGetインストールガイドを参照してください。
IronXLのシステム要件は何ですか?
IronXLは.NET Framework 4.6.2以降および.NET Core/5/6/7/8/9/10をサポートしており、最新のアプリケーションと従来のアプリケーションの両方に対応しています。 それはWindows、Linux、およびmacOSプラットフォームで動作します。 特別な要件のある環境については、 IronXLの機能ページを参照してプラットフォームのサポート状況を確認してください。 購入前に全機能を評価できるトライアルライセンスをご利用いただけます。
インストールが成功したことを確認するにはどうすればよいですか?
インストールを確認するために、CSVファイルを読み込むテストプログラムを作成してください。 ライセンスに関するメッセージが表示された場合は、ライセンスキーを取得する必要があります。 プロジェクトファイル内のパッケージ参照を確認し、 IronXLが正しいバージョンで指定されていることを確認してください。 基本的なCSV読み取り操作を実行してください。エラーなしで完了すれば、インストールは正常に動作しています。
CSVファイルをどのようにDataTableに変換しますか?
IronXLのコアワークフローは、わずか数行のコードで構成されています。 以下は、C# 10+のトップレベルステートメントを使用して、CSVファイルを読み取り、それをDataTableに変換する方法です:
using IronXL;
using System.Data;
// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
fileFormat: ExcelFileFormat.XLSX);
// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);
// Display the data
foreach (DataRow row in dataTable.Rows)
{
foreach (var item in row.ItemArray)
{
Console.Write($"{item}\t");
}
Console.WriteLine();
}
using IronXL;
using System.Data;
// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
fileFormat: ExcelFileFormat.XLSX);
// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);
// Display the data
foreach (DataRow row in dataTable.Rows)
{
foreach (var item in row.ItemArray)
{
Console.Write($"{item}\t");
}
Console.WriteLine();
}
Imports IronXL
Imports System.Data
' Load CSV file into a WorkBook object
Dim workbook As WorkBook = WorkBook.LoadCSV("sales_data.csv", fileFormat:=ExcelFileFormat.XLSX)
' Access the default worksheet
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
' Convert to DataTable with headers
Dim dataTable As DataTable = worksheet.ToDataTable(True)
' Display the data
For Each row As DataRow In dataTable.Rows
For Each item In row.ItemArray
Console.Write($"{item}" & vbTab)
Next
Console.WriteLine()
Next
CODE-42770--@@メソッドは、CSVファイルを自動的に解析し、引用符で囲まれたフィールドと埋め込まれたカンマを処理します。 CODE-42771--@@パラメータはIronXLにCSVデータを内部的にどのように解釈するかを指示し、Excel互換の構造として扱われるようにします。 ロードされると、ToDataTable(true)メソッドはワークシートをDataTableに変換し、パラメータtrueは、最初の行を列ヘッダーとして使用することを示します。 その結果、CSVヘッダーと一致する名前付きカラムを持つ、クリーンで構造化されたDataTableが得られます。 より高度な操作オプションについては、IronXLの完全なハウツーガイドをご覧ください。
変換プロセスではデータ型も保持されます。数値は数値のまま、日付は正しく解析され、テキストフィールドは書式を維持します。 この自動型推論は、手動による構文解析手法と比較して、開発時間を大幅に節約します。 データの書式設定をカスタマイズする必要がある場合は、変換前にセルの書式設定を適用してください。
@--CODE-42776--@@パラメータは何を制御しますか?
CODE-42777--@@のbooleanパラメータは、ヘッダー行の処理を決定します。 CODE-42778--@@に設定すると、最初の行が@@--CODE-42779--@の列名になり、@@--CODE-42781--@の代わりに@@--CODE-42780--@のような意味のあるフィールド参照が作成されます。 CODE-42782--@@@の場合、一般的な列名が割り当てられ、ヘッダーのないCSVファイルに便利です。 この柔軟性により、実際のアプリケーションで遭遇するさまざまなCSV形式に対応できます。 高度なシナリオでは、複数のデータ範囲を処理するために、カスタム設定でワークブックを開く必要がある場合があります。
ヘッダーのないCSVファイルはどのように処理すればよいですか?
ヘッダーのないCSVファイルの場合は、ToDataTable(false)を使用し、その後に列名を手動で割り当ててください。 あなたは、Columnsコレクションを繰り返し、データスキーマに基づいて意味のある名前を設定することができます。 あるいは、CSVファイルを読み込む前に、プログラムでヘッダー行を先頭に追加することもできます。 IronXLは、既存のデータにヘッダーを追加する必要がある場合、Excelファイルをゼロから作成することもサポートしています。
大容量のCSVファイルは、パフォーマンスにどのような影響を与えるのでしょうか?
IronXLは、バッファリング技術を用いて大容量のCSVファイルを効率的に処理します。 100MB以下のファイルは通常、数秒で読み込まれます。 インテリジェントなバッファリングにより、ファイルサイズに関わらずメモリ使用量は抑制されます。 大規模なデータセットで最適なパフォーマンスを得るには、範囲選択手法を用いたバッチ処理を検討してください。 IronXLの機能ページでは、性能特性を詳細に説明しています。
どのようにDataTable@をSQL Serverにインポートしますか?
いったんDataTable@を手に入れたら、SqlBulkCopy@を使ってSQL Serverにインポートするのが効率的です。 次の例では、C# のトップレベルステートメントを使用しています。
using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;
// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
"Integrated Security=True;TrustServerCertificate=True;";
// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);
// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";
// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");
// Set batch size for better performance
bulkCopy.BatchSize = 1000;
// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);
Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;
// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
"Integrated Security=True;TrustServerCertificate=True;";
// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);
// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";
// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");
// Set batch size for better performance
bulkCopy.BatchSize = 1000;
// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);
Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
Imports System.Data
Imports Microsoft.Data.SqlClient
Imports IronXL
' Create connection string
Dim connectionString As String = "Data Source=localhost;Initial Catalog=SalesDB;" &
"Integrated Security=True;TrustServerCertificate=True;"
' Read CSV into DataTable
Dim workbook As WorkBook = WorkBook.LoadCSV("inventory_report.csv")
Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable(True)
' Bulk insert into SQL Server
Using connection As New SqlConnection(connectionString)
connection.Open()
Using bulkCopy As New SqlBulkCopy(connection)
' Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory"
' Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code")
bulkCopy.ColumnMappings.Add("Quantity", "quantity")
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated")
' Set batch size for better performance
bulkCopy.BatchSize = 1000
' Write data to SQL Server
bulkCopy.WriteToServer(dataTable)
End Using
End Using
Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records")
CODE-42788--@@クラスは、大規模なデータのインポートに対して強力なパフォーマンスを提供します。 CODE-42789--@@コレクションは、DataTableカラムを異なる名前のデータベースカラムにマッピングし、データスキーマの柔軟性を確保します。 CODE-42791--@@ プロパティは、すべてを一度にロードするのではなく、チャンクでレコードを処理することによって、メモリ使用を最適化します。 IronXLのインポートおよびエクスポート機能について詳しくはこちら。
データの整合性をさらに高めるために、大量コピー操作にトランザクションサポートを導入することを検討してください。 これにより、エラーが発生した場合に部分的なインポートをロールバックできることが保証されます。 また、IronXLのExcelファイル作成機能を使用して、インポート前にデータの事前検証を行うこともできます。
なぜBatchSizeはパフォーマンスにとって重要なのですか?
CODE-42793は、各ネットワークラウンドトリップでSQL Serverに送信される行数を制御します。小さなバッチ(100-1000行)にすると、メモリ使用量が減り、進捗状況を監視できるようになりますが、ネットワークのオーバーヘッドが増えます。 大規模なバッチ(5000~10000行)は、高速なネットワーク環境ではスループットを最大化できますが、より多くのメモリを消費します。 最適なサイズは、行幅、ネットワーク遅延、および利用可能なメモリによって異なります。
列マッピングの不一致はどのように処理しますか?
列マッピングの不一致は、一括コピー操作中に実行時例外を引き起こします。 大文字と小文字の区別を含め、ソースDataTable@カラム名がマッピング定義と正確に一致していることを常に確認してください。 マッピングの前に、GetOrdinalメソッドを使用してカラムの存在を検証してください。 動的スキーマの場合は、宛先テーブルの構造を照会し、プログラムによってマッピングを構築します。 IronXLの"ExcelからDataSetへの変換ガイド"を利用すれば、インポート前に列名を標準化することができます。
大量輸入にはどのようなセキュリティ上の考慮事項が適用されますか?
一括インポートには、昇格したデータベース権限、通常はdb_datawriterまたはbulkadminロールが必要です。 可能な限り統合認証を使用し、接続文字列に認証情報を埋め込むことを避けてください。 インポート時に監査列を追加することで、行レベルのセキュリティを実装します。 不正な形式のCSVデータによる問題を防ぐため、データ型と範囲は必ず検証してください。 Enterprise導入要件を理解する必要がある場合は、 IronXLのライセンスページを参照してください。
CSVファイルの様々な区切り文字はどのように処理しますか?
すべてのCSVファイルがカンマを使用するわけではありません。 IronXLは様々な区切り文字に対応しているため、国際的なデータ形式やレガシーシステムでの利用に適しています:
using IronXL;
using System;
using System.Data;
using System.IO;
// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");
// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");
// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);
WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);
// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
using IronXL;
using System;
using System.Data;
using System.IO;
// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");
// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");
// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);
WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);
// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
Imports IronXL
Imports System
Imports System.Data
Imports System.IO
' --- Tab-delimited file ---
Dim tsvPath As String = "export_data.tsv"
Dim tsvWorkbook As WorkBook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, ControlChars.Tab)
' --- Semicolon-delimited file ---
Dim semiPath As String = "european_data.csv"
Dim tempCsv As String = Path.Combine(Path.GetTempPath(), "european_data_comma.csv")
' Replace semicolons with commas for proper parsing
Dim lines As String() = File.ReadAllLines(semiPath)
For i As Integer = 0 To lines.Length - 1
lines(i) = lines(i).Replace(";"c, ","c)
Next
File.WriteAllLines(tempCsv, lines)
Dim semiWorkbook As WorkBook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX)
' Print tab-delimited results
Dim tsvTable As DataTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine("--- Tab-delimited File ---")
For Each col As DataColumn In tsvTable.Columns
Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In tsvTable.Rows
For Each item In row.ItemArray
Console.Write($"{item}{ControlChars.Tab}")
Next
Console.WriteLine()
Next
' Print semicolon-delimited results
Dim semiTable As DataTable = semiWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine(vbCrLf & "--- Semicolon-delimited File ---")
For Each col As DataColumn In semiTable.Columns
Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In semiTable.Rows
For Each item In row.ItemArray
Console.Write($"{item}{ControlChars.Tab}")
Next
Console.WriteLine()
Next
このコードでは、異なる区切り文字を持つCSVファイルをIronXLオブジェクトに読み込む例を示します。 タブ区切りファイルは、"\t"をセパレータとして使用して読み込まれ、セミコロン区切りファイルは、読み込む前に標準のCSV形式に変換されます。 より複雑なファイル形式のシナリオについては、Excelデータをさまざまな形式にエクスポートする方法も検討できます。
IronXLはどの区切り文字をネイティブでサポートしていますか?
IronXLは、カンマ、タブ、パイプ()などの一般的な区切り文字をサポートしています。|CODE-42800--LoadCSVオーバーロード。 最高のパフォーマンスを得るには、ファイルを前処理するのではなく、組み込みの区切り文字パラメータを使用してください。 複数文字の区切り文字は、上記のセミコロンの例に示すように、前処理が必要です。 解析したデータを再編成する必要がある場合は、生成されたワークブック内でセルを結合することも可能です。
区切り文字を自動的に検出するにはどうすればよいですか?
自動区切り文字検出では、CSVファイルの最初の数行を分析します。各行で一般的な区切り文字(カンマ、タブ、セミコロン、パイプ)の出現回数を数えます。最も頻繁に出現する文字が、おそらく区切り文字です。 IronXLは自動検出を提供しませんが、LoadCSVを呼び出す前にこのロジックを実装することができます。
CSV以外に、 IronXLでサポートされている機能は何ですか?
IronXLはCSVファイルの読み込み以外にも多くの機能を備えています。 このライブラリは、C# で Excel およびスプレッドシートのあらゆる操作を処理するため、データ中心のアプリケーションにとって単一の依存関係で済みます。
| フィーチャー | 翻訳内容 | 詳細はこちら |
|---|---|---|
| Excelファイルを読み込む | .xlsx、.xls、.csv ファイルを読み込み、プログラムでセルデータにアクセスする | Excelを開く |
| Excelファイルを作成する | スプレッドシートの作成や編集、値、数式、書式の設定 | Excelを作成する |
| Excelファイルを作成する | コードから新しいワークブックやワークシートを生成する | Excelを作成 |
| DataSet へのエクスポート | 複数のテーブルを扱うシナリオ向けに、ワークブック全体をDataSetオブジェクトに変換します | ExcelからDataSetへ |
| セルの書式設定 | セルに数値形式、フォント、色、枠線を適用する | セルの書式設定 |
| データのインポート | DataTable、リスト、またはデータベースソースからワークシートにデータを入力する | データのインポート |
ワークブック全体をデータセットとしてエクスポートするにはどうすればよいですか?
CSVファイルに複数のセクションが含まれていたり、複数のシートを扱う必要がある場合は、ToDataSet()オブジェクトのWorkBookメソッドを使用してください。 これは、ワークシートごとに1つのDataTableを含む@@--CODE-42804--@を返します。 "ExcelからDataSetへの変換"の手順書には、このシナリオのためのステップバイステップのコード例が掲載されています。
どのようなライセンスオプションが利用できますか?
IronXLは商用利用が可能で、チームの規模や導入ニーズに合わせて様々なライセンスプランをご用意しています。 無料トライアルライセンスを利用すると、評価のために全機能にアクセスできます。 ライセンスページには、ロイヤリティフリーの再配布やSaaSオプションなど、利用可能なプランが記載されています。
次のステップは何ですか?
IronXLは、CSVデータベースのインポートを、シンプルで信頼性の高いプロセスへと変革します。 ほんの数行のコードで、次のことができます:
- LoadCSV機能を使用して、任意のファイルパスからCSVファイルを読み込む
- CSVデータを適切なデータフォーマットで
DataTable@に変換する。 - 自動解析により、列ヘッダーおよびDataTableの列を維持する
- 一括操作を使用して、数百万行のデータをデータベーステーブルに効率的にインポートする
このライブラリは、CSVの解析、メモリ管理、データ型変換といった複雑な処理を担うため、ファイル処理の詳細ではなく、ビジネスロジックに集中できます。 ASP.NET アプリケーションの構築、Blazor の利用、あるいは .NET 10 デスクトップアプリの開発のいずれにおいても、IronXL はすべてのプラットフォームで一貫性のある信頼性の高い CSV 処理を提供します。
始める準備はできましたか? IronXLのドキュメントではすべての機能を詳細に解説しており、トライアルライセンスを利用すればライブラリの全機能を評価することができます。
よくある質問
C#でCSVファイルをDataTableに読み込む最良の方法は何ですか?
IronXLを使用すると、開発者ガイドで提供されているシンプルなコード例で、効率的にC#でCSVファイルをDataTableに読み込むことができます。
なぜCSVをDataTableに変換するのにIronXLを使用するべきでしょうか?
IronXLは、CSVファイルを解析し、DataTableに変換するためのシンプルなAPIを提供し、C#でのデータ操作と分析を容易にします。
IronXLは、大きなCSVファイルをDataTableに変換する際に対応できますか?
はい、IronXLはパフォーマンス問題なく大きなCSVファイルを効率的に処理し、DataTableに変換するように設計されています。
CSVをDataTableに変換した後、IronXLはデータ操作をサポートしていますか?
もちろんです。IronXLを使用してCSVファイルをDataTableに変換した後、必要に応じてデータを簡単に操作および分析できます。
IronXLを使用してCSVデータをデータベースにインポートするにはどうすればよいですか?
CSVファイルをIronXLを使用してDataTableに変換した後、C#の標準的なデータベース接続を使用してデータをデータベースに挿入できます。
IronXLは、エンタープライズアプリケーションでのCSVファイル処理に適していますか?
はい、IronXLはエンタープライズアプリケーションでのCSV処理タスクを処理するために設計されており、優れたパフォーマンスと信頼性を提供します。
C#でCSVファイルをDataTableに変換する利点は何ですか?
CSVファイルをDataTableに変換することで、データの操作、分析、およびデータベースとの統合がより容易になり、アプリケーションのデータ処理能力が向上します。
IronXLはCSV以外のスプレッドシートファイルタイプにも使用できますか?
はい、IronXLはExcelフォーマットを含むさまざまなスプレッドシートファイルタイプをサポートし、C#での多用途のデータ処理を可能にします。



