IRONXLの使用

C# で CSV ファイルを読み込む (コードサンプルチュートリアル)

更新済み 2024年1月29日
共有:

このチュートリアルでは、追加のインターロップをインストールせずに、IronXL C# ライブラリを使用してCSVファイルを効率的かつ効果的に読み取る方法を示します。

C#でCSVファイルを読み込む方法

IronXLを使用してMVC、ASP.NET、または.NET CoreでCSVファイルを読み取る前に、まずIronXLをインストールする必要があります。 次に、プロセスの基本的な概要を示します。

Visual Studioでプロジェクトメニューを選択し、NuGetパッケージの管理を選択、IronXL.Excelを検索してインストールします。

CSVファイルをC#で読み込む(コード例チュートリアル)、図1:NuGetパッケージマネージャーでIronXLパッケージをインストール

NuGet パッケージ マネージャーで IronXL パッケージをインストールする

IronXLは、あなたが必要とする際に使用する優れたツールです CSVファイルを読み取る C#で 以下のコード例は、コンマや他の区切り文字を使用してCSVファイルを読み取ることができることを示しています。

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
VB   C#

C#を使用してCSVファイルを読み込む(コード例チュートリアル)、図2:このチュートリアルのためのCSVデータ

このチュートリアルのためのCSVデータ

オブジェクト WorkBook が作成されました。 WorkBookオブジェクトの LoadCSV (CSV読み込み) メソッドは、読み取られるCSVファイルの名前、形式、およびCSVファイルで使用される区切り文字を示すために使用され、それらは文字列配列として保存されます。 このシナリオでは、コンマは区切り文字として使用されます。

その後、 ワークシート オブジェクトが作成される。 ここにCSVファイルの内容が保存されます。 ファイルはその後、名前が変更され、新しい形式で保存されます。 CSVファイルのデータは、その後ワークシートに表形式で配置されます。 出力はこのようになります:

C#を使用してCSVファイルを読み込む(コード例チュートリアル)、図3: データをExcelファイルに変換

データがExcelファイルに変換されました

C# .NETでのCSV解析

CSVファイルには、フィールド内の改行の取り扱いや、フィールドが引用符で囲まれているかどうかの問題がいくつかあります。このため、単純な文字列分割技術が機能しません Split(「'」). 相手に代わって、IronXLは、LoadCSVメソッドのオプションパラメータを使用して区切り文字をカスタマイズすることを提案します。APIドキュメントを確認してください。 [LoadCSV(ロードCSV)`](/csharp/excel/object-reference/api/IronXL.WorkBook.html#IronXL_WorkBook_LoadCSV_System_String_IronXL_ExcelFileFormat_System_String_SystemBoolean) 詳細については。

C#レコード — CSVデータの読み込み

以下の例では、foreach がCSVファイルの行をループするために使用され、Consoleがレコード内のデータを書き出すのに使用されます。

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ")
	Next i
	Console.WriteLine()
Next row
VB   C#

C#を使用してCSVファイルを読み込む(コード例チュートリアル)、図4:CSVファイルからデータを取得してコンソールに表示

CSVファイルからデータにアクセスしてコンソールに表示

CSVファイルの文字列をExcel形式に変換する

手順は簡単です:CSVファイルを読み込み、Excelファイルとして保存します。

WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet

workbook.SaveAs("CsvToExcelConversion.xlsx")
VB   C#

IronXLを使用して変換されたCSVファイルを読み取りおよび操作する

IronXLのWorkBookクラスはExcelシートを表し、このクラスを使用してC#でExcelファイルを開きます。 以下のコード例は、目的のExcelファイルをWorkBookオブジェクトに読み込むものです:

//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
VB   C#

WorkSheetオブジェクトは、数多くのWorkBooksに存在することができます。 これらはExcelドキュメントのワークシートです。 ワークブックにワークシートが含まれている場合、次の方法で名前によって取得できます:

//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
VB   C#

セル値を読み取るコード:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

以下のコードサンプルは、ワークブックおよびワークシートを読み込んだ後に、特定のセルに数式を更新または適用することができます。 以下のコードです:

// Set Formulas
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
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
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()
VB   C#

結論とIronXL特別オファー

IronXLは、たった2行のコードでCSVをExcelに変換します。また、C#でCSVを処理することもできます。

Interopを必要とせずに、IronXLのExcel APIを使用するのは非常に簡単です。 さらに、IronXLは、Excel WorkBook、WorkSheet、およびCellsレベルでの操作に幅広い機能を提供しています。 一般的なフォーマット間の変換, セルデータのフォーマット, セルの結合, 数学関数の挿入以下の内容を日本語に翻訳してください:

チャートの管理および 画像の追加.

透かしなしで起動するには IronXL試用ライセンスキー.

ライセンスは $749 から始まり、1年間の無料サポートとアップデートが含まれています。

IronPDF、IronXL、IronOCR、IronBarcode、IronWebscraperはすべて Iron Softwareスイート. Iron Softwareでは、すべてのパッケージを割引価格で購入することが可能です。これらのツールを2つ分の価格で全て利用できます。

これは間違いなく検討する価値のあるオプションです。

< 以前
C#でCSVパーサーを使用する方法
次へ >
C# でプログラムによって Excel ファイルを開く (コード例チュートリアル)