使用IRONXL

如何在C#中讀取CSV文件

已更新 2024年3月24日
分享:

本篇文章將探討如何使用IronXL庫來創建一個C# CSV讀取器。

IronXL - Excel Library

IronXL - Excel 庫

IronXL 是一個強大的Excel庫,為C#開發人員提供創建、加載、讀取和編輯各種格式的Excel電子表格的功能。IronXL專為.NET設計,優先考慮速度、準確性和易用性。 保存 Excel 檔案 不同格式和 載入各種類型的試算表格式 轉換為 Excel 以實現高效的數據讀取。

IronXL 支持具有不同文件擴展名的 Excel 工作簿格式,包括 CSV 和 TSV、XLS 和 XLSX、XSLT 和 XLSM。它與最新版本的 .NET Framework 兼容,並且支持所有先前版本直到 2.0。IronXL 可以在多種平台上使用,包括 Linux、MacOS、Azure、Docker 和 AWS。

如何使用 IronXL 在 C# 中製作 CSV 讀取器?

先決條件

要將 CSV 檔案中的數據轉換為 Excel 檔案並在 C# 中讀取,我們需要以下工具:

  1. Visual Studio: 是必不可少的集成開發環境 (集成開發環境) 用於處理C# .NET 應用程式。它是開發C# 應用程式的官方且建議的IDE,可以從 Microsoft 網站. 但是,如果開發者偏好,也可以使用其他支援 C# 環境的 IDE。

  2. 建立控制台應用程式: 按照步驟建立一個簡單的控制台應用程式。

    • 開啟 Visual Studio 並點擊「建立專案」。

      如何在C#中读取CSV文件,圖2:新建專案窗口

      新專案視窗

    • 從可用選項列表中選擇「主控台應用程式」。確保選擇的語言是 C#。

      如何在 C# 中讀取 CSV 文件,圖 3:建立一個新的控制台應用程序

          **建立新的控制臺應用程式**
    • 接下來,將您的專案命名為任何您想要的名稱。

      如何在 C# 中读取 CSV 文件,图 4:配置

      配置

  • 在專案配置中的下一步是選擇 .NET 框架。最新可用版本是 .NET 7.0,這在標準術語中獲得支持。然而,為了避免可能的錯誤,您可以選擇更穩定的 .NET 6.0 版本,因為微軟提供長期支持。根據您的具體需求選擇適當的版本是很重要的。
  1. IronXL - 它是設計用於處理 Excel 試算表的 .NET Excel 庫。在使用之前,必須在您的 C# 應用程式中安裝它。您可以從多個來源下載和安裝這個套件:

    1. NuGet - .NET 的套件管理器。您可以直接從 NuGet 下載 IronXL。 NuGet網站

    2. Visual Studio NuGet 套件管理器:透過選擇 工具 > NuGet 套件管理器 > 為方案管理套件來打開套件管理器。

    3. 下載 IronXL .NET Excel DLL 從 Iron 網站直接下載 zip 文件並將其作為專案參考添加到專案解決方案中。

添加 IronXL 命名空間

當你具備先決條件後,下一步是在 main.cs 檔案的源代碼頂部添加 IronXL 命名空間:

using IronXL;
using IronXL;
Imports IronXL
VB   C#

打開現有CSV檔案

IronXL提供了一種簡單的方法來 讀取CSV檔案 在C#中。首先,打開一個CSV文件來讀取。這是一種基於行和列的文件類型。在這裡, Workbook 類別與其一起使用 LoadCSV 打開 CSV 檔案的方法。代碼如下:

var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
VB   C#

IronXL 的 LoadCSV 方法讓您可以打開 CSV 檔案並將其轉換為 XLSX 格式。此方法提供選項來指定 CSV 檔案中使用的列表分隔符號。在此範例中,使用預設分隔符號,即逗號。生成的檔案會被打開,並可以使用 IronXL 的功能繼續處理和操作 Excel 試算表。

如何在C#中讀取CSV文件,圖5:CSV文件

CSV 檔案

從 CSV 讀取器類別獲取工作表

在上一步中,CSV 文件已經使用 IronXL 開啟為 Excel 工作簿。現在,從工作簿中獲取默認工作表。 工作表 類。以下示例演示如何獲取工作表以讀取CSV數據:

WorkSheet ws = workbook.DefaultWorkSheet;
WorkSheet ws = workbook.DefaultWorkSheet;
Dim ws As WorkSheet = workbook.DefaultWorkSheet
VB   C#

如需有關操作 Excel 工作表的更多信息,您可以訪問此 程式碼範例頁面.

使用 C# DataTable 讀取 CSV 數據

一旦 CSV 文件成功加載並且數據以工作表的形式可用,數據就可以非常容易地從 CSV 文件中讀取到 C# DataTable 中。

將工作表轉換為 DataTable

首先,創建 DataTable 實例,並使用該表將工作表數據轉換為表格 ToDataTable 方法。以下代碼有助於完成此任務:

DataTable dt = ws.ToDataTable(true);
DataTable dt = ws.ToDataTable(true);
Dim dt As DataTable = ws.ToDataTable(True)
VB   C#

開始讀取 CSV 數據

現在,使用 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] + "  "); //format output 
    }
    Console.WriteLine();
}
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] + "  "); //format output 
    }
    Console.WriteLine();
}
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) & "  ") 'format output
	Next i
	Console.WriteLine()
Next row
VB   C#

在上面的程式碼中,使用 foreach 迴圈從一列集合中獲取單個記錄。然後在內嵌的 for 迴圈中,計算列的數量,最後將每行資料列印到螢幕上。輸出格式類似於 CSV 文件。

如何在 C# 中讀取 CSV 檔案,圖 6:輸出

輸出

摘要

本文展示了如何使用 IronXL 庫在 C# 中創建 CSV 讀取器。由於 IronXL 支持 Excel 試算表中的 CSV 格式,載入 CSV 文件變得非常簡單。使用 DataTable 對象可以創建一個優雅的 CSV 讀取器並格式化輸出以匹配原始文件。

IronXL 還提供方便的 不同檔案格式之間的轉換 並且允許從頭建立 Excel 文件,而無需安裝 Interop 和 Microsoft Excel。它還兼容 C# 的 DataSetDataTable,為開發人員提供在不依賴第三方應用程式的情況下進行資料互相轉換的靈活性。憑藉其強大的功能,IronXL 是 C# 開發人員處理 Excel 試算表和高效處理 CSV 數據的寶貴工具。

IronXL 可免費用於開發。然而,若要商業使用,您需要購買其 許可證 從 $749 開始。您也可以使用其 免費試用 以測試其編譯的 .dll 在生產模式下與您的項目兼容性。

< 上一頁
如何在C#中將數據集轉換為Excel
下一個 >
如何在 C# 中获取 Excel 文件中的单元格值

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

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