跳過到頁腳內容
使用 IRONXL

使用 C# 讀取 CSV 文件(代碼示例教程)

本教學示範如何使用IronXL C# 庫讀取 CSV 文件,而無需安裝額外的互通,從而以高效且有效的方式實現。

How to read CSV Files in C

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

在 Visual Studio 中選擇"專案"選單,選擇"管理NuGet套件",搜尋 IronXl.Excel,然後安裝。

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

IronXL是一個很棒的工具,當你需要在 C# 中讀取 CSV 檔案時可以使用它。 下面的程式碼範例表明,您可以使用逗號或其他分隔符號讀取 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
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");
$vbLabelText   $csharpLabel

使用 C# 讀取 CSV 檔案(程式碼範例教學),圖 2:本教學的 CSV 資料 本教程的 CSV 數據

物件WorkBook已建立。 然後使用 WorkBook 物件的LoadCSV方法來指示 CSV 檔案的名稱、格式以及正在讀取的 CSV 檔案中使用的分隔符,這些分隔符將儲存為字串陣列。 在這種情況下,逗號被用作分隔符號。

之後,創建了一個WorkSheet物件; 這裡將儲存 CSV 檔案的內容。 然後將文件重命名並以新格式儲存。 然後將 CSV 檔案資料以表格形式排列在工作表中。 輸出結果大致如下:

使用 C# 讀取 CSV 檔案(程式碼範例教學),圖 3:資料轉換為 Excel 檔案 數據已轉換為 Excel 文件

CSV parsing in C# .NET

CSV 檔案在欄位中處理換行符的方式以及欄位可能被引號括起來的方式方面存在一些問題,這使得簡單的字串分割技術無法正常運作。 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
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();
}
$vbLabelText   $csharpLabel

使用 C# 讀取 CSV 檔案(程式碼範例教學),圖 4:從 CSV 檔案存取資料並在控制台中顯示 從 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
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");
$vbLabelText   $csharpLabel

使用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
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
$vbLabelText   $csharpLabel

可以在許多工作簿中找到 WorkSheet 物件。 這些是Excel文件的工作表。 如果工作簿包含工作表,您可以透過以下步驟按名稱取得它們:

// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
$vbLabelText   $csharpLabel

讀取單元格值的程式碼:

// 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
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
$vbLabelText   $csharpLabel

以下程式碼範例可以在載入和讀取工作簿和工作表後更新公式或將其套用至特定儲存格。 以下是代碼:

// 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();
$vbLabelText   $csharpLabel

結論和IronXL特別優惠

IronXL只需兩行程式碼即可將 CSV 文件轉換為 Excel 文件,此外還支援 C# 中的 CSV 處理。

無需互通,使用 IronXL 的 Excel API 非常輕鬆。 此外, IronXL還提供了一系列功能,可以與 Excel 工作簿、工作表和單元格層級進行交互,例如在常用格式之間進行轉換單元格資料格式設定合併單元格插入數學函數,甚至管理圖表和添加圖像

使用IronXL試用許可證金鑰,您可以無浮水印地啟動遊戲。

許可證價格從 $799 起,包含一年的免費支援和更新。

IronPDF、 IronXL、 IronOCR、 IronBarcode和 IronWebscraper 都是Iron Software套件的一部分。 Iron Software允許您以優惠價格購買他們的全套軟體。您只需支付兩份的價格即可使用所有工具。

這絕對是一個值得考慮的選擇。

常見問題解答

我如何在 C# 中讀取 CSV 文件?

您可以使用 IronXL 庫在 C# 中讀取 CSV 文件,通過使用 LoadCSV 方法將 CSV 數據加載到 WorkBook 對象中以便進一步操作。

在 C# 中將 CSV 數據轉換為 Excel 格式的最佳方式是什麼?

在 C# 中將 CSV 數據轉換為 Excel 格式的最佳方法是使用 IronXL。將您的 CSV 加載到 WorkBook 對象中,然後使用 SaveAs 方法將其保存為 Excel 文件。

如何在 C# 中使用庫處理具有自定義分隔符的 CSV 文件?

使用 IronXL,您可以通過在 LoadCSV 方法中指定定界符作為可選參數來處理具有自定義定界符的 CSV 文件。

我可以直接將 CSV 數據轉換為 C# 的數據庫格式嗎?

是的,您可以使用 IronXL 將 CSV 數據轉換為 C# 中的數據庫格式,通過利用 ToDataTable 方法,該方法可以將數據轉換為適合數據庫操作的 DataTable 對象。

有哪些方法可用於使用 C# 檢查不存在的 CSV 文件?

在 C# 中,您可以使用 IronXL 的 Exists 方法在試圖加載 CSV 文件之前檢查該文件是否存在,從而避免與不存在的文件相關的錯誤。

在 C# 中將 CSV 轉換為 Excel 後,我如何操作 Excel 數據?

在 C# 中將 CSV 轉換為 Excel 後,您可以使用 IronXL 的功能操作數據,例如格式化、合併單元格、插入數學函數以及添加圖表或圖像。

IronXL 在 C# 中讀取和轉換 CSV 文件有哪些優勢?

IronXL 提供的優勢包括安裝簡便、無需其他 interop、自定義分隔符支持,以及在 Excel 中轉換和操作 CSV 數據的強大方法。

在 C# 中如何處理 CSV 數據中的特殊字符?

IronXL 能夠通過在加載 CSV 文件時允許您指定文件編碼和分隔符來處理 CSV 數據中的特殊字符,從而確保數據的完整性和準確性。

IronXL 用戶有哪些支持可用?

IronXL 許可證包括一年免費支持和更新,提供幫助並確保您擁有最新功能和修補。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me