C#(コード例チュートリアル)を使用してCSVファイルを読み取る
このチュートリアルでは、追加のInteropなしでIronXL C#ライブラリを使用してCSVファイルを読む方法を、非常に効率的かつ効果的に示しています。
C#でCSVファイルを1行ずつ読み取る方法
- CSV ファイルを行ごとに読み取るための C# ライブラリをインストールする
- 高度な`LoadCSV`メソッドを使用してCSVファイルを読み込む
- C# で`Exists`メソッドを使用して存在しないファイルの読み込みをキャッチする
- `ToDataTable`メソッドを使用してCSVデータをデータベースに変換する
- `SaveAs`メソッドを使用してExcelファイルをエクスポートし、CSVデータは自動的にExcelに変換されます。
How to read CSV Files in C
MVC、ASP.NET、または.NET CoreでCSVファイルを読む前に、まずIronXLをインストールする必要があります。 こちらがプロセスの基本的な概要です。
Visual Studio の [プロジェクト] メニューを選択し、 [NuGetパッケージの管理] を選択して、[IronXL.Excel] を検索し、インストールします。
NuGetパッケージマネージャでIronXLパッケージをインストール
C#でCSVファイルを読む必要があるときにIronXLは優れたツールです。 以下のコード例は、カンマや他の区切り文字を使用してCSVファイルを読むことができることを示しています。
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
このチュートリアルのためのCSVデータ
オブジェクトWorkBookが作成されました。 WorkBook オブジェクトのLoadCSVメソッドを使用して、CSV ファイルの名前、フォーマット、および読み込まれる CSV ファイルで使用されている区切り文字を指定します。これらは文字列配列として格納されます。 このシナリオでは、カンマが区切り文字として使用されます。
その後、 WorkSheetオブジェクトが作成されます。 ここにCSVファイルの内容が保存されます。 ファイルは新しい形式に名前を変更して保存されます。 CSVファイルデータは、ワークシートに表形式で配置されます。 出力は次のようになります:
データがExcelファイルに変換されました
CSV parsing in C# .NET
CSVには、フィールド内の改行の処理方法や、フィールドが引用符で囲まれている可能性があるという問題がいくつかあり、単純な文字列分割手法が機能しない原因となっています。 代わりに、 IronXLでは LoadCSV メソッドのオプション パラメータを使用して区切り文字をカスタマイズできます。詳細については、 LoadCSVの API ドキュメントを参照してください。
C# Records — Reading CSV Data
以下の例では、foreach ループを使用して CSV ファイルの行を反復処理し、コンソールを使用してデータをレコードに書き込みます。
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header
' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
' Iterate through each column in the current row
For i As Integer = 0 To dt.Columns.Count - 1
' Output each cell value to the console
Console.Write(row(i) & " ")
Next i
' New line after each row
Console.WriteLine()
Next row
CSVファイルからデータをアクセスし、コンソールに表示
CSVファイルの文字列行をExcel形式に変換
手順は簡単です:CSVファイルを読み込み、Excelファイルとして保存します。
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")
IronXLを使用して変換されたCSVファイルを読み取り、操作
IronXL WorkBook クラスは Excel シートを表し、このクラスを使用して C# で Excel ファイルを開きます。 以下のコード例では、選択したExcelファイルをWorkBookオブジェクトにロードします:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
WorkSheet オブジェクトは多数のワークブックで見つかります。 これらはExcelドキュメントのワークシートです。 ワークブックにワークシートがある場合、次のようにして名前で取得できます:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
セル値を読み取るためのコード:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
以下のコードサンプルは、ワークブックとワークシートを読み込んだ後に数式を更新または特定のセルに適用できます。 以下のコードです:
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
' Set formulas for specific cells
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets
workbook.EvaluateAll()
結論とIronXL特別オファー
IronXLはCSVをExcelにわずか2行のコードで変換します。C#でのCSV処理も可能です。
Interopの必要なしに、IronXLのExcel APIを使用するのは簡単です。 さらに、IronXLは、Excelワークブック、ワークシートおよびセルレベルで相互作用するための幅広い機能を提供しています。たとえば、人気のある形式間の変換、セルデータのフォーマット、セルの結合、 数学関数の挿入、およびチャートの管理や画像の追加など。
IronXL試用ライセンスキーを使用して透かしなしで起動できます。
ライセンスは$799から始まり、1年間の無料サポートとアップデートが含まれます。
IronPDF、IronXL、IronOCR、IronBarcode、およびIronWebscraperはIron Softwareのスイートの一部です。 Iron Softwareは、その全パッケージを割引価格で購入することを可能にします。それらのツールすべてを2つ分の価格で使用できます。
これは探る価値があります。
よくある質問
C#でCSVファイルを読み取るにはどうすればよいですか?
IronXLライブラリを使用して、LoadCSVメソッドを利用することにより、CSVデータをWorkBookオブジェクトに読み込んでさらに操作が可能です。
C#でCSVデータをExcel形式に変換する最良の方法は何ですか?
C#でCSVデータをExcel形式に変換する最良の方法は、IronXLを使用することです。CSVをWorkBookオブジェクトにロードし、SaveAsメソッドを使用してExcelファイルとして保存します。
C#ライブラリを使ってカスタムデリミタを持つCSVファイルをどのように処理しますか?
IronXLを使用すると、LoadCSVメソッドでデリミタをオプションのパラメータとして指定することで、カスタムデリミタを持つCSVファイルを処理できます。
C#でCSVデータをデータベース形式に直接変換できますか?
はい、IronXLを利用してToDataTableメソッドを使うことで、CSVデータをデータベース形式に変換し、データベース操作に適したDataTableオブジェクトに変換できます。
C#で存在しないCSVファイルをチェックするための利用可能なメソッドは何ですか?
C# では、IronXL のExistsメソッドを使用して、CSV ファイルをロードする前にそれが存在するかどうかを確認し、存在しないファイルに関連するエラーを回避できます。
C#でCSVから変換した後にExcelデータをどのように操作しますか?
C#でCSVをExcelに変換した後、IronXLの機能を使用して書式設定、セルの結合、数式の挿入、グラフまたは画像の追加など、データを操作できます。
IronXLがC#でCSVファイルの読み取りと変換に提供するメリットは何ですか?
IronXLは、簡単なインストール、追加のインターロップが不要、カスタムデリミタのサポート、Excel内でCSVデータを変換および操作するための強力なメソッドを提供するといったメリットがあります。
C#でCSVデータの特殊文字をどのように処理しますか?
IronXLを使用することで、CSVファイルをロードする際にファイルのエンコーディングやデリミタを指定して、データの整合性と正確性を確保します。
IronXLユーザーにはどのようなサポートがありますか?
IronXLライセンスには1年間の無料サポートと更新が含まれており、支援を提供し、最新の機能と修正を確実に取得できます。



