如何在C#中使用IronXL讀取CSV文件

Read a CSV File in C

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

IronXL提供了一個使用 LoadCSV 方法在 C# 中讀取 CSV 檔案的單行解決方案。 它支援自訂分隔符,並可直接轉換為 Excel 格式,以便在.NET應用程式中實現無縫資料處理。

快速入門:使用IronXL一行程式碼載入並轉換 CSV 檔案

本範例展示如何使用 IronXL 的 LoadCSV 方法讀取 CSV 文件,並以最少的程式碼將其儲存為 Excel 工作簿。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXl.Excel

    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 Read a CSV File in C

步驟 1

如何安裝IronXL庫?

在 MVC、ASP 或.NET Core中使用IronXL讀取 CSV 檔案之前,需要先安裝它。 以下是簡要介紹。

我為什麼要使用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;
$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");
$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);
    }
}
$vbLabelText   $csharpLabel

處理前的 CSV 檔案是什麼樣的?

記事本中的 CSV 文件顯示了動物數據,包含月份、長頸鹿、大象、犀牛列以及 6 個月的族群數據。
圖 2 -記事本中開啟的 CSV 文件

LoadCSV 方法的工作原理是什麼?

已建立一個 Workbook 物件。 LoadCSV 物件的方法指定要讀取的 CSV 檔案、要讀取到的格式以及分隔符號。 在這種情況下,逗號用作分隔符號。

在放置 CSV 內容的位置建立一個 Worksheet 物件。 然後,該文件將以新名稱和新格式儲存。 This process is useful when you need to convert between different spreadsheet formats.

Excel電子表格顯示了CSV數據,其中包含月份、長頸鹿、大象和犀牛四列,數據涵蓋6個月的動物數量。
圖 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
    }
}
$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", ";");
$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");
}
$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)";
$vbLabelText   $csharpLabel

圖書館快速訪問

### IronXL API 參考文檔

使用便利的IronXL API 參考文檔,了解更多內容並分享如何在 Excel 電子表格中合併、取消合併和處理儲存格。

IronXL API 參考文檔
Documentation related to 如何處理包含複雜資料的CSV檔案?

常見問題解答

如何用 C# 快速讀取 CSV 檔案?

IronXL 提供了使用 LoadCSV 方法在 C# 中讀取 CSV 檔案的單行解決方案。只需使用WorkBook wb = WorkBook.LoadCSV("data.csv",ExcelFileFormat.XLSX,listDelimiter:",「);這會載入您的 CSV 檔案,並允許您使用 wb.SaveAs(」output.xlsx") 將其儲存為 Excel 工作簿。

CSV 閱讀資料庫有哪些安裝方式?

您可以透過 Visual Studio 中的 NuGet Package Manager 搜尋「IronXl.Excel」來安裝 IronXL,或是直接從 Iron Software 網站下載。該函式庫也支援 Docker containers、Azure Functions 和 AWS Lambda,以進行基於雲端的 CSV 處理。

讀取 CSV 檔案時,可以使用自訂的分隔符嗎?

是的,IronXL 支援各種分隔符,包括分號、制表符和管道。您可以使用 LoadCSV 方法中的 listDelimiter 參數指定分隔符,例如WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";").

CSV 讀取功能需要匯入哪些命名空間?

您需要在 C# 檔案的頂端加入「使用 IronXL;」,才能存取 IronXL 讀取和處理 CSV 檔案的所有功能。

載入 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.Excel 允許從 CSV 直接轉換為 Excel 格式。使用 LoadCSV 載入 CSV 檔案後,您可以立即使用 SaveAs 方法將其儲存為 Excel 檔案,並指定 XLSX 或 XLS 等格式。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備好開始了嗎?
Nuget 下載 1,890,100 | 版本: 2026.3 剛剛發布

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXl.Excel
執行範例 觀看您的資料變成試算表。