
using C# 讀取 CSV 文件(程式碼範例教程)
這個教程演示了如何使用IronXL C#程式庫讀取CSV文件,而不需要安裝額外的互操作,以一種高度有效和有效的方式。
如何在C#中逐行讀取CSV文件
- 安裝C#程式庫來逐行讀取CSV文件
- 使用高級
LoadCSV方法來讀取CSV文件 - 用C#中的
Exists方法捕捉讀取不存在的文件 - 用
ToDataTable方法將CSV資料轉換為資料庫 - 使用
SaveAs方法來匯出Excel文件,同時CSV資料自動轉換為Excel
How to read CSV Files in C#
在使用IronXL讀取MVC、ASP.NET或.NET Core中的CSV文件之前,您必須先安裝IronXL。 以下是該過程的基本概覽。
在Visual Studio中選擇專案選單,管理NuGet包,然後搜尋IronXL.Excel,並安裝。
在NuGet包管理器中安裝IronXL包
當您需要讀取C#中的CSV文件時,IronXL是一個很好的工具。 下面的程式碼範例顯示您可以使用逗號或其他分隔符來讀取CSV文件。
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
本教程的CSV資料
建立了WorkBook物件。 然後使用WorkBook物件的LoadCSV方法來指示要讀取的CSV文件的名稱、格式和所用的分隔符,這些都儲存為字串陣列。 在這種情況下使用逗號作為分隔符。
之後,建立了一個WorkSheet物件; 這是CSV文件內容將被儲存的地方。 然後將文件重命名並以新格式儲存。 然後將CSV文件資料以表格形式安排在工作表中。 輸出將如下所示:
資料已轉換為Excel文件
CSV parsing in C# .NET
CSV在欄位中的換行處理和欄位可能用引號包裹出現了幾個問題,這會阻止簡單的字串分割技術於Split("'")。 相反,IronXL提供了使用LoadCSV方法中的可選參數自定義分隔符,查看LoadCSV的API說明以獲取更多細節。
C# Records — Reading CSV Data
在下面的範例中,使用foreach迴圈來迭代CSV文件中的行,並使用控制台寫入記錄中的資料。
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header
' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
' Iterate through each column in the current row
For i As Integer = 0 To dt.Columns.Count - 1
' Output each cell value to the console
Console.Write(row(i) & " ")
Next i
' New line after each row
Console.WriteLine()
Next row
從CSV文件存取資料並顯示到控制台
將CSV文件的字串行轉換為Excel格式
該過程很簡單:載入CSV文件並將其保存為Excel文件。
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")使用IronXL讀取和操作已轉換的CSV文件
IronXL WorkBook類表示一個Excel工作表,並使用此類在C#中打開Excel文件。 以下程式碼範例將載入所需的Excel文件到WorkBook物件中:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")WorkSheet物件可以在許多WorkBook中找到。 這些是Excel文件的工作表。 如果工作簿有工作表,您可以通過名稱獲取它們,方法如下:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")讀取單元格值的程式碼:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell以下程式碼範例可以在載入和讀取工作簿和工作表後更新公式或將其應用於特定單元格。 以下是程式碼:
// Set formulas for specific cells
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 for specific cells
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()結論和IronXL特別優惠
除了在C#中處理CSV文件之外,IronXL還可以使用僅兩行程式碼將CSV轉換為Excel。
不需要互操作,使用IronXL的Excel API是輕而易舉。 此外,IronXL還提供了多種功能來與Excel工作簿、工作表和單元格層級進行互動,例如轉換流行格式、設定單元格資料格式、合併單元格、插入數學函式,甚至管理圖表和新增圖片。
您可以使用IronXL試用授權金鑰啟動而不帶浮水印。
授權價格從$999開始,包括一年的免費支援和更新。
IronPDF、IronXL、IronOCR、IronBarcode和IronWebScraper都是Iron Software suite的一部分。 Iron Software允許您以折扣價購買他們的整個套裝,您可以用兩件的價錢使用所有這些工具。
這絕對值得一探。

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



