使用IRONXL

C# CSV 解析程式 (逐步) 教程

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

您是否曾經在處理重要任務時,嘗試解析 CSV 文件並將其轉換為 XLSX,或者將 XLSX 文件轉換為 CSV 文件,但在 .NET 中無法找到不用寫大量代碼的方法?

許多 CSV 庫存在以解決此問題。然而, IronXL 在本博客中,我們將使用 C# Excel Library 來執行這些任務,只需兩行代碼。

要開始,只需使用 Visual Studio,並按照以下詳細安裝說明進行操作。

1. 在 Visual Studio 中創建新專案

打開 Visual Studio 編輯器。

在 Visual Studio 中進入「文件」菜單。選擇「新專案」,然後選擇「控制台應用程式」。

輸入專案名稱並選擇專案位置。然後,點擊 創建 按鈕來創建專案。選擇所需的 .NET Framework,如下圖所示:

C# CSV 解析器(步驟詳解)教學,圖 1:建立新的 C#. NET 主控台應用程式

創建一個新的 C#. NET 控制台應用程式

program.cs 文件將打開,讓您可以輸入邏輯並創建/運行應用程式。

2. 安裝 IronXL C# 程式庫

可以使用多種不同的方法下載並安裝 IronXL 程式庫。今天我們將專注於其中的兩種方法:

  • 使用 Visual Studio NuGet 套件管理器
  • 使用 Visual Studio 命令列

2.1. 使用 Visual Studio 的 NuGet 套件管理員

NuGet 套件管理員 UI 可在 Visual Studio 中使用,以便將套件直接安裝到專案中。以下截圖顯示如何開啟它。

C# CSV 解析器(逐步)教程,圖 2:使用 Visual Studio NuGet 套件管理器 GUI 安裝 IronXL

使用 Visual Studio NuGet 套件管理器 GUI 安裝 IronXL

套件管理器 UI 提供了一個瀏覽功能,顯示在 NuGet 網站上提供的套件庫列表。輸入關鍵字 "IronXL",如下圖所示,即可找到 IronXL 套件。

C# CSV 解析器(分步)教程,圖 3:通過在瀏覽部分搜索 IronXL 庫,在 NuGet 包管理器中找到它

在 NuGet 套件管理器的瀏覽部分搜尋 IronXL 庫

選擇 IronXL.Excel 套件,然後點擊 Install 按鈕將其添加到項目中。

2.2. 使用 Visual Studio 命令行工具

在 Visual Studio 的菜單中,依次選擇 工具 > NuGet 套件管理員 > 點擊 套件管理員主控台

C# CSV 解析器(逐步)教程,圖 4:在 Visual Studio 中從工具功能表訪問 NuGet 套件管理器控制台

在 Visual Studio 中,從工具選單存取 NuGet 封裝管理器主控台

封裝管理器主控台將出現在螢幕的底部。只需輸入以下指令然後按下 Enter,IronXL 就會被安裝。

Install-Package IronXL.Excel

C# CSV 解析器(逐步)教程,第五步:通過命令行安裝 IronXL 庫

透過命令行安裝IronXL庫

3. 解析CSV文件

手動解析CSV需要編寫大量精確的代碼來完成工作,但使用IronXL,只需要幾行代碼。

通過使用傳統的C#代碼來解析CSV格式的文件,您將需要使用大量冗長的代碼。這是一個實現此功能的代碼示例。

using FileHelpers;
using System;
namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;

        public string Age;
    }
    class Program
    {
        static void Main(string [] args)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
using FileHelpers;
using System;
namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;

        public string Age;
    }
    class Program
    {
        static void Main(string [] args)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
Imports FileHelpers
Imports System
Namespace parse_csv
	<DelimitedRecord(",")>
	Public Class Record
		Public Name As String

		Public Age As String
	End Class
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim fileHelperEngine As New FileHelperEngine(Of Record)()
			Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")

			For Each record In records
				Console.WriteLine(record.Name)
				Console.WriteLine(record.Age)
			Next record
		End Sub
	End Class
End Namespace
VB   C#

但是使用IronXL,這只需要幾行代碼即可完成。

使用IronXL,您可以從XLSX、XLS、TSV等文件中解析CSV文件。在本教程中,我們將探討以下轉換:

  1. 從XLSX文件解析CSV文件

  2. 從XLS文件解析CSV文件

  3. 從TSV文件解析CSV文件

3.1. 從 XLSX 文件解析 CSV 文件

打開 Microsoft Excel 並創建一個新的 XLSX 文件。用一些模擬數據填充它的行和列。以下圖片顯示了本教程中所有轉換所使用的文件。

C# CSV 解析器 (逐步) 教程,第六步:範例 Excel 數據

範例 Excel 數據

一旦您準備好文件,請撰寫以下示例代碼並執行程式。

using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
VB   C#

執行完成後,將會創建一個名為 Parsed CSV.csv 的新檔案。可以使用任何你喜歡的編輯器或讀取器來讀取 CSV 檔案。下圖顯示了上述指令的輸出結果——我們生成的 CSV 數據。在輸出檔案中,雙引號代表 加粗 值。

C# CSV解析器(步驟指南),圖7:在範例Excel工作簿上調用WorkBook.SaveAsCsv方法的結果

調用 WorkBook.SaveAsCsv 方法處理樣本 Excel 工作簿的結果

3.2. 從 XLS 文件解析 CSV 文件

在這個範例中,我們將看到如何將 XLS 文件轉換為 CSV 格式。

首先,讓我們創建一個可以轉換為 CSV 格式的範例 XLS 文件。

C# CSV 解析器(逐步)教程,圖 8:範例 XLS 檔案

範例 XLS 文件

接下來,我們將執行以下代碼塊,將範例 XLS 文件轉換為 CSV 文件。

using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
VB   C#

在執行上述代碼後,您將會有一個新生成的CSV文件。

C# CSV 解析器(逐步)教程,圖9:使用上面的代碼保存的結果 CSV 文件

使用上述程式碼儲存後的結果 CSV 檔案

3.3. 從TSV文件解析CSV文件

試算表應用程式經常使用TSV檔案,或制表符分隔值檔案,以在數據庫之間傳輸數據。它保存一個資料表,使用制表符來分隔資料列,並且每條記錄都在不同的行上。

IronXL 提供了一個CSV解析器,以便從TSV格式解析CSV文件,以便更好地管理數據。

讓我們從範例開始。

C# CSV 解析器(逐步)教程,圖 10:範例 TSV 試算表

一個範例TSV電子表格

using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
VB   C#

以下是 CSV 格式的輸出。

C# CSV解析器(逐步)教程,圖11:輸出CSV檔案

輸出 CSV 檔案

4. 結論

本教程使用IronXL將各種文件格式解析為C#中的CSV格式。

此外,IronXL庫還提供以下功能:

購買完整的 Iron Suite 以兩個IronXL庫許可證的價格檢索所有五個Iron Software庫的許可證!

感謝您的閱讀!

< 上一頁
如何在 C# 中創建 CSV 文件(逐步教程)
下一個 >
如何使用IronXL將數據匯出至Blazor中的Excel

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

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