C#でIronXLを使用してCSVファイルを読む方法

C#でCSVファイルを読み取る

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXLはLoadCSVメソッドを使用してC#でCSVファイルを読み込むための1行のソリューションを提供します。 .NETアプリケーションでのシームレスなデータ処理のために、カスタム区切り文字とExcel形式への直接変換をサポートしています。

IronXLを使用したCSVファイルのロードと変換のクイックスタート

この例では、IronXLのLoadCSVメソッドを使ってCSVファイルを読み込み、最小限のコードでExcelワークブックとして保存する方法を示します。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronXL をインストールします

    PM > Install-Package IronXL.Excel

  2. このコード スニペットをコピーして実行します。

    WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer
## .NET アプリケーションで CSV ファイルを読み取る
  • CSV ファイルを読み取るための C# ライブラリをインストールする (IronXL)
  • C#でCSVファイルを読み取る
  • ファイル形式と区切り文字を指定する
How To Work related to C#でCSVファイルを読み取る.

ステップ1

どのようにIronXLライブラリをインストールしますか?

MVC、ASP、.NET CoreでCSVファイルを読み込むためにIronXLを使用する前に、インストールする必要があります。 簡単なウォークスルーです。

なぜNuGetパッケージマネージャを使用する必要があるのですか?

  • Visual Studioで、プロジェクトメニューを選択
  • NuGetパッケージを管理
  • IronXL.Excelを検索
  • インストール
Visual Studio NuGetパッケージマネージャによるIronXL.Excelライブラリのインストール(パッケージの詳細とコンソール出力付き
図1 - IronXL.Excel NuGetパッケージ

代替のインストール方法は何ですか?

Or download from the Iron Software website: https://ironsoftware.com/csharp/excel/packages/IronXL.zip

For .NET developers working with Docker containers, IronXL can be configured in your Docker environment. The library also supports deployment on Azure Functions and AWS Lambda for cloud-based CSV processing.


チュートリアル

CSVファイルをプログラムで読み込むには?

さて、プロジェクトの始まりです!

どの名前空間をインポートする必要がありますか?

IronXL名前空間を追加します:

// This namespace is required to access the IronXL functionalities
using IronXL;
// This namespace is required to access the IronXL functionalities
using IronXL;
' This namespace is required to access the IronXL functionalities
Imports IronXL
$vbLabelText   $csharpLabel

CSVファイルを読み込んで変換するにはどうすればよいですか?

IronXLとC#を使ってCSVファイルをプログラムで読み込むコードを追加する:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-read.cs
// Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
WorkBook workbook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ",");

// Access the default worksheet within the loaded workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx");
' Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
Dim workbook As WorkBook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",")

' Access the default worksheet within the loaded workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet

' Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx")
$vbLabelText   $csharpLabel

どのような高度な CSV 読み取りオプションがありますか?

IronXLは様々な設定のCSVファイルを扱う機能を提供します。 異なる区切り記号(セミコロン、タブ、パイプ)を指定し、異なるエンコーディングのファイルを扱うことができます:

// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
Imports System
Imports IronXL

' Example: Reading CSV with custom delimiter and encoding
Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv",
                                            fileFormat:=ExcelFileFormat.XLSX,
                                            listDelimiter:=";",  ' Using semicolon as delimiter
                                            encoding:=Encoding.UTF8)

' Access specific cells after loading
Dim cellValue = workbook.DefaultWorkSheet("A1").Value

' Iterate through rows
For Each row In workbook.DefaultWorkSheet.Rows
    ' Process each row
    For Each cell In row
        Console.WriteLine(cell.Value)
    Next
Next
$vbLabelText   $csharpLabel

処理前のCSVファイルはどのように見えますか?

月、キリン、ゾウ、サイの列と6ヶ月の個体数データを含む動物データを示すメモ帳のCSVファイル。
図2 -メモ帳で開いたCSVファイル

LoadCSVメソッドはどのように動作しますか?

Workbookオブジェクトが作成されます。 WorkbookオブジェクトのLoadCSVメソッドは、読み込むCSVファイル、読み込むフォーマット、区切り文字を指定します。 この場合、コンマを区切り文字として使用します。

CSVコンテンツが配置されるワークシートオブジェクトが作成されます。 ファイルは、新しい名前と形式で保存されます。 This process is useful when you need to convert between different spreadsheet formats.

月、キリン、ゾウ、サイの列を持つCSVデータと6ヶ月分の動物数データを示すExcelスプレッドシート。
図3 - Excelで開いたCSVファイル

大きなCSVファイルを効率的に処理できますか?

IronXLはパフォーマンスを最適化し、大きなCSVファイルを効率的に処理します。 For developers working with substantial datasets, the library offers significant performance improvements in recent versions. 大きなファイルを処理する場合は、以下のベストプラクティスを考慮してください:

// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
Imports System
Imports IronXL

' Reading large CSV files with memory optimization
Dim workbook As WorkBook = WorkBook.LoadCSV("large_dataset.csv", 
                                            fileFormat:=ExcelFileFormat.XLSX, 
                                            listDelimiter:=",")

' Process data in chunks
Dim worksheet = workbook.DefaultWorkSheet
Dim rowCount As Integer = worksheet.RowCount
Dim batchSize As Integer = 1000

For i As Integer = 0 To rowCount - 1 Step batchSize
    ' Process rows in batches
    Dim endIndex As Integer = Math.Min(i + batchSize, rowCount)
    For j As Integer = i To endIndex - 1
        Dim row = worksheet.GetRow(j)
        ' Process individual row
    Next
Next
$vbLabelText   $csharpLabel

CSVデータを他の形式にエクスポートするにはどうすればよいですか?

CSVファイルを読んだ後、データをさまざまな形式にエクスポートする必要があるかもしれません。 IronXL supports multiple export options including XLSX to CSV conversion, JSON, XML, and HTML. ここでは、さまざまな形式にエクスポートする方法を説明します:

// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";");
// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";");
' Load CSV and export to multiple formats
Dim workbook As WorkBook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",")

' Export to different formats
workbook.SaveAs("output.xlsx") ' Excel format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format

' Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";")
$vbLabelText   $csharpLabel

WebアプリケーションでCSVデータを扱うには?

For ASP.NET developers, IronXL provides seamless integration for reading CSV files in web applications. MVCまたはWeb APIプロジェクトでCSVファイルをアップロードして処理できます:

// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
Imports System.IO
Imports System.Web
Imports IronXL

Public Function UploadCSV(file As HttpPostedFileBase) As ActionResult
    If file IsNot Nothing AndAlso file.ContentLength > 0 Then
        ' Save uploaded file temporarily
        Dim fileName As String = Path.GetFileName(file.FileName)
        Dim path As String = Path.Combine(Server.MapPath("~/App_Data/"), fileName)
        file.SaveAs(path)

        ' Load and process CSV
        Dim workbook As WorkBook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",")

        ' Convert to DataTable for easy display
        Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable()

        ' Clean up temporary file
        System.IO.File.Delete(path)

        Return View(dataTable)
    End If
    Return RedirectToAction("Index")
End Function
$vbLabelText   $csharpLabel

複雑なデータを含むCSVファイルをどのように扱えばよいですか?

数式、特殊文字、混合データ型を含むCSVファイルを扱う場合、IronXLは強力な処理機能を提供します。 You can work with formulas and format cell data appropriately:

// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
Imports IronXL

' Handle CSV with special requirements
Dim workbook As WorkBook = WorkBook.LoadCSV("complex_data.csv", ExcelFileFormat.XLSX, listDelimiter:=",")

Dim worksheet = workbook.DefaultWorkSheet

' Apply formatting to cells
worksheet("A1:A10").Style.Font.Bold = True
worksheet("B1:B10").FormatString = "$#,##0.00" ' Currency format

' Add formulas after loading CSV data
worksheet("D1").Formula = "=SUM(B1:B10)"
$vbLabelText   $csharpLabel

ライブラリのクイックアクセス

### IronXL APIリファレンスドキュメント

便利な IronXL API リファレンス ドキュメントを使用して、Excel スプレッドシートでセルを結合、結合解除、操作する方法の詳細を学び、共有します。

IronXL APIリファレンスドキュメント
Documentation related to 複雑なデータを含むCSVファイルをどのように扱えばよいですか?

よくある質問

C#でCSVファイルをすばやく読み込むには?

IronXLはLoadCSVメソッドを使用してC#でCSVファイルを読み込むための1行のソリューションを提供します。使用方法は簡単です:WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); これでCSVファイルが読み込まれ、wb.SaveAs("output.xlsx")でExcelワークブックとして保存できます。

CSV読み取りライブラリにはどのようなインストール方法がありますか?

IronXLはVisual StudioのNuGet Package Managerから'IronXL.Excel'を検索してインストールするか、Iron Softwareのウェブサイトから直接ダウンロードできます。このライブラリは、クラウドベースのCSV処理のためのDockerコンテナ、Azure Functions、AWS Lambdaもサポートしている。

CSVファイルを読み込むときに、カスタム区切り文字を使用できますか?

はい、IronXLはセミコロン、タブ、パイプを含む様々な区切り文字をサポートしています。例えば、LoadCSVメソッドのlistDelimiterパラメータを使って区切り文字を指定できます:WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";").

CSV読み取り機能のために、どの名前空間をインポートする必要がありますか?

CSVファイルを読み込んで処理するためのIronXLのすべての機能にアクセスするには、C#ファイルの先頭に'using IronXL;'を追加する必要があります。

CSVファイルを読み込んだ後、特定のセルの値にアクセスするにはどうすればよいですか?

IronXLのLoadCSVメソッドでCSVファイルを読み込んだ後、次のようにして特定のセルにアクセスすることができます: var cellValue = workbook.DefaultWorkSheet["A1"].Value; これにより、読み込んだCSVから個々のセルのデータを取得し、操作することができます。

ライブラリは、CSVファイルを読み込む際に異なるファイルエンコーディングをサポートしていますか?

はい、IronXLはUTF8を含む様々なエンコーディングをサポートしています。CSVファイルをロードする際にエンコーディングパラメータを指定できます:WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, encoding: Encoding.UTF8)。

CSVファイルをExcel形式に直接変換できますか?

はい、IronXLではCSVからExcel形式への直接変換が可能です。LoadCSVでCSVファイルを読み込んだ後、SaveAsメソッドでXLSXやXLSなどの形式を指定して、すぐにExcelファイルとして保存できます。

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

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

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

準備はできましたか?
Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース