如何在 C# 中讀取 CSV 文件
本文將探討如何使用 IronXL 函式庫建立 C# CSV 讀取器。
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# 中讀取,我們需要以下工具:
Visual Studio:是用於開發 C# .NET 應用程式的重要整合開發環境 (IDE)。 它是開發 C# 應用程式的官方推薦 IDE,可以從微軟網站下載和安裝。 不過,如果開發人員願意,也可以使用其他支援 C# 環境的 IDE。 2.建立控制台應用程式:按照以下步驟建立一個簡單的控制台應用程式。
開啟 Visual Studio 並按一下"建立專案"。
從可用選項清單中選擇"控制台應用程式"。 請確保選擇的語言是 C#。
如何在 C# 中讀取 CSV 文件,圖 3:建立一個新的控制台應用程式 建立一個新的控制台應用程式
接下來,你可以隨意為你的專案命名。
[如何在 C# 中讀取 CSV 文件,圖 4:配置](/static-assets/excel/blog/csharp-csvreader-tutorial/csharp-csvreader-tutorial-3.webp) **配置**專案配置的下一步是選擇 .NET Framework。 最新版本為 .NET 7.0,該版本在標準期限內支援。 但是,為了避免任何潛在的錯誤,您可以選擇更穩定的 .NET 6.0 版本,因為微軟為其提供長期支援。 根據您的特定需求選擇合適的版本非常重要。
- IronXL - 它是專為處理 Excel 電子表格而設計的 .NET Excel 庫。 必須先將其安裝到您的 C# 應用程式中才能使用。 您可以從多個來源下載並安裝該軟體包:
- NuGet - .NET 的套件管理器。 您可以直接從NuGet 網站下載 IronXL。
- Visual Studio NuGet 套件管理器:依序點選"工具" > "NuGet 套件管理器" > "管理解決方案的套件",開啟套件管理器。
- 直接從 Iron 網站下載 IronXL .NET Excel DLL zip 文件,並將其作為專案參考新增至專案解決方案。
增加 IronXL 命名空間
滿足所有前提條件後,下一步是在main.cs檔案的原始程式碼頂部新增IronXL命名空間:
using IronXL;using IronXL;開啟一個現有的 CSV 文件
IronXL 提供了一種在 C# 中讀取 CSV 檔案的簡單方法。 首先,開啟一個CSV檔案進行讀取。 它是一種基於行和列的文件類型。 這裡使用WorkBook類別及其LoadCSV方法來開啟 CSV 檔案。程式碼如下:
// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");IronXL 中的LoadCSV方法可讓您開啟 CSV 檔案並將其轉換為 XLSX 格式。 此方法提供了指定 CSV 檔案中使用的清單分隔符號的選項。在本例中,使用預設分隔符,即逗號。 開啟產生的檔案後,可以使用 IronXL 的讀取和操作 Excel 電子表格的功能對其進行進一步處理。
如何在 C# 中讀取 CSV 文件,圖 5:CSV 文件 CSV File
從 CSV 讀取器類別取得工作表
在上一個步驟中,使用 IronXL 將 CSV 檔案作為 Excel 工作簿開啟。 現在,使用WorkSheet類別從工作簿中取得預設工作表。 以下範例示範如何取得用於讀取 CSV 資料的工作表:
// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;有關使用 Excel 工作表的更多信息,您可以訪問此程式碼範例頁面。
使用 C# DataTable 讀取 CSV 數據
CSV 檔案載入成功且資料以工作表形式存在後,即可在 C# DataTable 中非常輕鬆地從 CSV 檔案中讀取資料。
將工作表轉換為資料表
首先,建立一個DataTable實例,然後使用ToDataTable方法將工作表資料轉換為表格。 以下程式碼有助於實現此任務:
// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);開始讀取 CSV 數據
現在,使用DataTable實例遍歷所有記錄。 資料以行和列的形式接收。 首先,然後逐列獲取其值。 若要取得包含標題行在內的所有記錄,請使用下列程式碼片段:
// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
// Iterate over each column in the current row.
for (int i = 0; i < dt.Columns.Count; i++)
{
// Print each column value in the current row.
Console.Write(row[i] + " ");
}
// Move to the next line after printing all columns of the current row.
Console.WriteLine();
}// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
// Iterate over each column in the current row.
for (int i = 0; i < dt.Columns.Count; i++)
{
// Print each column value in the current row.
Console.Write(row[i] + " ");
}
// Move to the next line after printing all columns of the current row.
Console.WriteLine();
}上面的程式碼中使用了foreach循環,從一組行中取得單一記錄。 然後,在一個嵌套的 for 循環中,統計列數,最後,將每一行的資料列印到螢幕上。 輸出格式與 CSV 檔案類似。
如何在 C# 中讀取 CSV 文件,圖 6:輸出 Output
摘要
本文示範如何使用 IronXL 庫在 C# 中建立 CSV 讀取器。 IronXL 可以輕鬆載入 CSV 文件,因為它支援 Excel 電子表格中的 CSV 格式。 DataTable物件用於建立優雅的 CSV 讀取器,並將輸出格式化為與原始檔案相符。
IronXL 還提供不同文件格式之間的便利轉換,並允許從頭開始建立 Excel 文件,而無需安裝 Interop 和 Microsoft Excel。 它還相容於 C# DataSet和DataTable ,使開發人員能夠靈活地進行資料互轉換,而無需依賴第三方應用程式。 IronXL 功能強大,是 C# 開發人員處理 Excel 電子表格和高效處理 CSV 資料的寶貴工具。
IronXL 可供開發免費使用。 但是,若要用於商業用途,您需要購買其許可證,起價為$799 。 您也可以使用其免費試用版來測試其編譯後的 .dll 檔案在生產模式下與您的專案的兼容性。
常見問題解答
如何在不使用 Interop 的情況下,用 C# 建立 CSV 讀取器?
您可以使用 IronXL 庫在 C# 中建立 CSV 讀取器,而無需使用 Interop。首先,透過 NuGet 安裝 IronXL,或從 IronXL 網站下載 .NET Excel DLL。在程式碼中新增 IronXL 命名空間,並使用WorkBook.LoadCSV方法載入 CSV 文件,這樣您就可以像在 Excel 工作簿中一樣操作它。
在 C# 中使用 IronXL 進行 CSV 操作有哪些好處?
IronXL 為 C# 中的 CSV 操作提供了一個強大且靈活的解決方案。它允許開發人員載入、讀取 CSV 檔案並將其轉換為 Excel 格式,而無需 Microsoft Excel 或 Interop,因此可與 Linux、MacOS 等各種平台以及 Azure 和 AWS 等雲端服務相容。
如何使用 IronXL 將 CSV 資料轉換為 Excel 格式?
若要使用 IronXL 將 CSV 資料轉換為 Excel 格式,請使用WorkBook.LoadCSV方法載入 CSV 文件,然後使用WorkBook.SaveAs方法儲存它,並指定所需的 Excel 格式,例如 XLSX。
是否可以使用 IronXL 將 CSV 資料讀取到 C# 的 DataTable 中?
是的,您可以使用 IronXL 在 C# 中將 CSV 資料讀取到DataTable 。將 CSV 檔案載入為工作簿,存取預設工作表,然後使用Range.ToDataTable方法將工作表資料轉換為DataTable ,以便於操作和迭代。
IronXL庫相容於哪些平台?
IronXL 庫相容於多種平台,包括 Windows、Linux、macOS、Azure、Docker 和 AWS。這種跨平台支援使其成為在各種不同環境下工作的開發人員的理想選擇。
IronXL 可以用於商業項目嗎?
是的,IronXL 可以用於商業項目。雖然它提供免費試用版用於開發和測試,但生產環境使用需要商業許可證。該許可證提供對全部功能和支援的存取權限。
IronXL 如何增強 C# 應用程式中的 CSV 資料處理功能?
IronXL 增強了 C# 應用程式中的 CSV 資料處理能力,讓開發人員無需依賴 Microsoft Excel 即可載入和編輯 CSV 檔案。它提供了 CSV 和 Excel 格式之間的轉換方法,使資料處理更加靈活和高效。






