Read a CSV File in C#
IronXL提供了一行程式碼來使用LoadCSV方法讀取C#中的CSV文件。 它支持自定義分隔符並直接轉換為Excel格式,以便在.NET應用程式中無縫處理資料。
此範例顯示如何使用IronXL的LoadCSV方法讀取CSV文件並以最少的程式碼將其保存為Excel工作簿。
-
1Install IronXL with NuGet Package Manager
-
2複製並運行這段程式碼片段。
WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx");C# -
3部署以在您的實時環境中測試
今天就開始在您的專案中使用IronXL,透過免費試用
最小工作流(5步)
- 下載並安裝C# CSV讀取程式庫
- 建立一個C#或VB專案
- 將此頁面的程式碼範例新增到您的專案中
- 指定CSV路徑和輸出名稱&格式
- 運行專案以查看文件
在.NET應用程式中讀取CSV文件
- 安裝一個C#程式庫來讀取CSV文件(IronXL)
- 在C#中讀取CSV文件
- 指定文件格式和分隔符
第1步
如何安裝IronXL程式庫?
在使用IronXL在MVC、ASP或.NET Core中讀取CSV文件之前,您需要安裝它。 這裡有一個快速指南。
為什麼我應該使用NuGet Package Manager?
- 在Visual Studio中,選擇專案選單
- 管理NuGet包
- 搜索
IronXL.Excel - 安裝
有哪些替代安裝方法?
Or download from the Iron Software website: https://ironsoftware.com/csharp/excel/packages/IronXL.zip
對於使用Docker容器進行工作的.NET開發人員,IronXL可在您的Docker環境中配置。 該程式庫還支持在Azure Functions和AWS Lambda上部署以進行基於雲的CSV處理。
教程指南
我如何以程式化方式讀取CSV文件?
現在該進入專案了!
我需要導入什麼名稱空間?
新增IronXL名稱空間:
// This namespace is required to access the IronXL functionalities
using IronXL;Imports IronXL如何載入並轉換CSV文件?
新增程式碼以使用IronXL和C#以程式化方式讀取CSV文件:
// 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
WorkBook workbook = WorkBook.LoadCSV("data.csv",
fileFormat: ExcelFileFormat.XLSX,
listDelimiter: ";"); // Using semicolon as delimiter
// 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);
}
}
在處理之前CSV文件看起來怎麼樣?
LoadCSV方法如何運作?
建立一個Workbook物件。 Workbook物件指定要讀取的CSV文件、要讀取的格式和分隔符。 在這種情況下,逗號用作分隔符。
建立一個Worksheet物件,放置CSV內容。 然後將文件保存為新名稱和格式。 當您需要在不同的試算表格式之間轉換時,此過程非常有用。
我可以有效地處理大型CSV文件嗎?
IronXL針對性能進行了優化,有效地處理大型CSV文件。 對於處理大量資料集的開發人員,該程式庫在近期版本中提供了顯著的性能提升。 處理大文件時,請考慮這些最佳實踐:
// 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支持多種導出選項,包括XLSX到CSV轉換、JSON、XML和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.SaveAsCsv("output_custom.csv", ";");
在Web應用程式中處理CSV資料如何?
對於ASP.NET開發人員,IronXL提供在Web應用程式中讀取CSV文件的無縫整合。 您可以在您的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 Function UploadCSV(file As HttpPostedFileBase) As ActionResult
If file IsNot Nothing AndAlso file.ContentLength > 0 Then
' Save uploaded file temporarily
Dim fileName = Path.GetFileName(file.FileName)
Dim path = 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 = 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提供了強大的處理能力。 您可以處理公式,並適當地格式化單元格資料:
// 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)"程式庫快速存取
常見問題
如何快速使用 C# 讀取 CSV 檔案?
IronXL 提供一行解決方案來使用 C# 讀取 CSV 檔案,使用 LoadCSV 方法。簡單使用:WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); 這樣便載入您的 CSV 檔案,並允許您將其保存為 Excel 活頁簿,使用 wb.SaveAs("output.xlsx")。
有哪些安裝方法可用於 CSV 讀取程式庫?
您可以通過 Visual Studio 的 NuGet Package Manager 安裝 IronXL,搜索 'IronXL.Excel',或直接從 Iron Software 網站下載。該程式庫還支持 Docker 容器、Azure Functions 和 AWS Lambda 用於基於雲端的 CSV 處理。
讀取 CSV 檔案時,我可以使用自訂分隔符號嗎?
是的,IronXL 支持包括分號、Tab 符和管道等多種分隔符號。您可以在 LoadCSV 方法中使用 listDelimiter 參數指定分隔符號,例如:WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";")。
我需要匯入哪個命名空間來實現 CSV 讀取功能?
您需要在 C# 檔案的頂部新增 'using IronXL;' 以存取所有 IronXL 功能,以讀取和處理 CSV 檔案。
如何在載入 CSV 檔案後存取特定的單元格值?
using 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 方法將其保存為 Excel 檔案,指定格式如 XLSX 或 XLS。
Can I install IronXL via NuGet in Visual Studio?
Yes, you can install IronXL using the NuGet Package Manager in Visual Studio by searching for `IronXL.Excel` and adding it to your project.
What namespace do I need to import to use IronXL functionalities in my C# project?
To access IronXL functionalities, you need to import the `IronXL` namespace into your C# project.
What types of projects can benefit from using IronXL for CSV file processing?
IronXL is beneficial for .NET applications, including MVC, ASP, and .NET Core projects, where seamless CSV reading and conversion are required.

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。


