在 C# 中讀取CSV檔案並進行Excel資料擷取
IronXL提供了一個使用 LoadCSV 方法在 C# 中讀取Excel檔案和 CSV 的單行解決方案。 它支援自訂分隔符,並可直接轉換為 Excel 格式,完成Excel資料擷取,以便在.NET應用程式中實現無縫資料處理。
快速入門:使用IronXL一行程式碼載入並轉換 CSV 檔案
本範例展示如何使用 IronXL 的 LoadCSV 方法讀取 CSV 文件,並以最少的程式碼將其儲存為 Excel 工作簿。
- 下載並安裝 C# CSV 讀取庫
- 建立一個 C# 或 VB 項目
- 將此頁面中的程式碼範例新增至您的專案中
- Specify the CSV path and output name & format
- 運行專案以查看文檔
- 安裝用於讀取 CSV 檔案的 C# 庫(IronXL)
- 在 C# 中讀取 CSV 文件
- 指定文件格式和分隔符
步驟 1
如何安裝IronXL庫?
在 MVC、ASP 或.NET Core中使用IronXL讀取 CSV 檔案之前,需要先安裝它。 以下是簡要介紹。
我為什麼要使用NuGet套件管理器?
在 Visual Studio 中,選擇"項目"選單
- 管理NuGet程式包
- 搜尋IronXL.Excel
- 安裝
還有哪些安裝方法?
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
如何載入和轉換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")
有哪些進階 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
處理前的 CSV 檔案是什麼樣的?
LoadCSV 方法的工作原理是什麼?
已建立一個 Workbook 物件。 LoadCSV 物件的方法指定要讀取的 CSV 檔案、要讀取到的格式以及分隔符號。 在這種情況下,逗號用作分隔符號。
在放置 CSV 內容的位置建立一個 Worksheet 物件。 然後,該文件將以新名稱和新格式儲存。 This process is useful when you need to convert between different spreadsheet formats.
如何高效處理大型 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
如何將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", ";")
在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
如何處理包含複雜資料的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)"
圖書館快速訪問
使用便利的IronXL API 參考文檔,了解更多內容並分享如何在 Excel 電子表格中合併、取消合併和處理儲存格。
IronXL API 參考文檔常見問題解答
如何用 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 等格式。

