使用IRONXL

使用C#讀取CSV檔案(程式碼範例教程)

已更新 2024年1月29日
分享:

本教程說明如何使用IronXL C#庫在不安裝額外互操作的情況下,高效且有效地讀取CSV文件。

如何在C#中讀取CSV文件

在使用IronXL於MVC、ASP.NET或.NET Core讀取CSV檔案之前,您必須先安裝IronXL。 以下是該過程的基本概要。

在 Visual Studio 中選擇專案選單,管理 NuGet 套件,然後搜索 IronXL.Excel 並安裝。

使用 C# 讀取 CSV 檔案(代碼範例教學),圖 1:在 NuGet 套件管理器中安裝 IronXL 套件

在 NuGet 套件管理器中安裝 IronXL 套件

IronXL 是一個很好的工具,當您需要使用時讀取CSV檔案在 C# 中。 以下的程式碼範例顯示您可以使用逗號或其他分隔符號來讀取 CSV 檔案。

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
VB   C#

使用 C# 讀取 CSV 文件(代碼示例教程),圖 2:本教程的 CSV 數據

本教程的 CSV 數據

該對象Workbook被創建。 WorkBook 對象的載入CSV該方法然後用於指示 CSV 文件的名稱、其格式以及讀取 CSV 文件時使用的分隔符,這些都儲存為一個字串陣列。 在此情境中,逗號被用作分隔符。

之後,a工作表物件已建立; 這裡將存放CSV檔案的內容。 檔案隨後被重新命名並儲存為新格式。 CSV 檔案資料隨後以表格形式排列在工作表中。 輸出將看起來像這樣:

使用 C# 讀取 CSV 文件(代碼示例教程),圖 3:數據轉換為 Excel 文件

資料轉換為 Excel 文件

在 C# .NET 中解析 CSV

CSV 文件在處理欄位中的換行符號以及欄位可能以引號括住時存在多個問題,這妨礙了簡單的字符串分割技術的運作。(「'」). 相反,IronXL 提供使用LoadCSV方法中的可选參數來自定義分隔符,詳情請查看 API 文件[LoadCSV`](/csharp/excel/object-reference/api/IronXL.WorkBook.html#IronXL_WorkBook_LoadCSV_System_String_IronXL_ExcelFileFormat_System_String_SystemBoolean)了解更多詳情。

C# 記錄 — 讀取 CSV 數據

在下面的例子中,foreach 用於迭代 CSV 文件中的每一行,並使用 Console 輸出記錄中的數據。

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ")
	Next i
	Console.WriteLine()
Next row
VB   C#

使用C#讀取CSV文件(代碼示例教程),圖4:訪問CSV文件中的數據並顯示在控制台

從 CSV 文件存取資料並顯示在控制台中

將 CSV 檔案字串行轉換為 Excel 格式

該程序很簡單:加載CSV文件並保存為Excel文件。

WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet

workbook.SaveAs("CsvToExcelConversion.xlsx")
VB   C#

使用 IronXL 閱讀和操作轉換後的 CSV 文件

IronXL 的 WorkBook 類別代表一個 Excel 工作表,並使用此類來在 C# 中開啟 Excel 文件。 以下代碼示例將把所需的 Excel 文件加載到 WorkBook 對象中:

//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
VB   C#

WorkSheet 對象可以在許多 WorkBook 中找到。 這些是 Excel 文件的工作表。 如果工作簿有工作表,您可以通過以下方式按名稱獲取它們:

//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
VB   C#

讀取單元格值的代碼:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

以下程式碼範例可在加載和讀取工作簿和工作表後更新公式或應用於特定單元格。 以下是程式碼:

// Set Formulas
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
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
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()
VB   C#

結論及IronXL特別優惠

IronXL 不僅可以在 C# 中處理 CSV,還能僅用兩行程式碼將 CSV 轉換為 Excel。

使用 IronXL 的 Excel API,無需 Interop,操作輕鬆自如。 此外,IronXL還提供與Excel WorkBook、WorkSheet和Cells層級互動的廣泛功能,例如:在熱門格式之間轉換, 儲存格數據格式化, 合併儲存格, 插入數學函數,甚至管理圖表和添加圖片.

您可以在不使用水印的情況下啟動IronXL 試用許可密鑰.

授權價格起始於 $749 ,並包括一年的免費支持和更新。

IronPDF、IronXL、IronOCR、IronBarcode 和 IronWebscraper 都是...的一部分Iron Software 套件. Iron Software允許您以優惠價格購買他們的整個套件。您可以以兩個工具的價格使用所有這些工具。

這絕對是一個值得探索的選項。

< 上一頁
如何在 C# 中使用 CSV 解析器
下一個 >
C# 程式化地開啟 Excel 檔案(代碼示例教程)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 1,136,001 查看許可證 >