跳至頁尾內容
使用 IRONXL

如何在 .NET Core 中匯出為 CSV 文件

1.0 引言

本文將使用最知名的函式庫之一IronXL ,來比較和比較 .NET 技術以程式設計方式與 Microsoft Excel 文件互動的不同方法。 它還將建立一個用於讀取、寫入和匯出 Excel 電子表格到 CSV 檔案的環境。

2.0 IronXL

IronXL for .NET 是一個 C# Excel 函式庫,可用於讀取 Microsoft Excel 文件並將其轉換為 CSV 檔案。 IronXL 是一個獨立的 .NET 軟體庫,無需安裝 Microsoft Office 或Microsoft.Office.Interop.Excel即可使用。 它可以讀取多種電子表格格式。

透過 IronXL 簡單易用的 C# API,可以在 .NET 環境中輕鬆讀取、編輯和產生 Excel 電子表格。 IronXL 完全支援 Xamarin、Linux、macOS、Azure、.NET Core 和 .NET Framework。

2.1 IronXL 庫功能

  • IronXL 是最優秀的 C# Excel 試算表庫之一,它同時適用於 .NET Core 和 .NET Framework。
  • IronXL 支援幾乎所有 .NET Framework,包括控制台、Windows 窗體和 Web 應用程式。
  • IronXL 與 Windows、macOS 和 Linux 皆相容。
  • 使用 IronXL 可以快速輕鬆地存取 Excel 檔案。 IronXL 可以讀取 XLSX 檔案、CSV 檔案、XLS、XSLT、TSV、XLSM 等 Excel 檔案格式。 眾多功能中包含匯入、更新和匯出資料集和資料表的功能。
  • IronXL 可以產生 Excel 電子表格的計算結果
  • 對於 Excel 列,IronXL 支援多種資料類型,例如文字、整數、日期、貨幣、公式和百分比。 IronXL 支援日期、貨幣、百分比、文字、數字、公式和其他 Excel 欄位資料類型

3.0 建立 .NET Core 6 項目

在本通訊的後續章節中,您將看到使用 IronXL 庫建立 CSV 檔案是多麼容易。

步驟 1:新建一個專案以產生 CSV 檔案。

開啟Visual Studio ,從"檔案"選單中選擇"新建專案"。

從隨後出現的對話方塊中選擇"控制台應用程式".NET 專案模板,然後按一下"下一步"。

如何在 .NET Core 中匯出為 CSV 文件,圖 1:在 Visual Studio 中建立一個新的控制台應用程式 在 Visual Studio 中建立一個新的控制台應用程式

"項目名稱"可以隨意填寫。 在"位置"部分提供新項目的位置後,按一下"下一步"按鈕繼續。

如何在 .NET Core 中匯出為 CSV 文件,圖 2:配置新項目 配置新項目

可以使用"框架"下拉式功能表選擇 .NET Framework。 在這種情況下,長期支援的 .NET 版本是 6.0。接下來,點擊"創建"按鈕。

如何在 .NET Core 中匯出為 CSV 文件,圖 3:.NET 目標框架選擇 .NET 目標框架選擇

安裝 IronXL 庫,因為後續解析需要用到它。 在套件管理員控制台中輸入以下指令即可完成:

Install-Package IronXL.Excel

如何在 .NET Core 中匯出為 CSV 文件,圖 4:安裝 IronXL 套件 安裝 IronXL 軟體包

另一種方法是使用 NuGet 套件管理器搜尋"IronXL"套件。 在"瀏覽"標籤中,在搜尋框中輸入"IronXL"以搜尋 IronXL 庫。 從與 IronXL 相關的所有 NuGet 套件清單中,選擇要下載的套件。

如何在 .NET Core 中匯出為 CSV 檔案?圖 5:在 NuGet 套件管理器 UI 中搜尋並安裝 IronXL 套件 在 NuGet 套件管理器 UI 中搜尋並安裝 IronXL 套件。

4.0 將資料匯出到 CSV 文件

使用 IronXL,建立 CSV 檔案的資料表既簡單又快速。 它便於將資料寫入新的 CSV 檔案。第一步是包含 IronXL 命名空間,如下面的程式碼截圖所示。 IronXL 實作之後,就可以在程式碼中使用它的類別和方法。

如何在 .NET Core 中匯出為 CSV 文件,圖 6:包含 IronXL 命名空間 包含 IronXL 命名空間

IronXL可用於建立 Excel 文件,然後將這些文件轉換為WorkBook物件。 當它們成為WorkBook類別的物件後,就可以用多種方式對它們進行操作。 下面的範例原始程式碼透過將DataTable轉換為 Excel 工作表來建立一個 Excel 檔案。

using IronXL;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        ExportToExcel("test.csv");
    }

    // Method to export a DataTable to an Excel sheet which is then saved as a CSV file
    public static void ExportToExcel(string filepath)
    {
        // Create a DataTable and add columns & rows
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animals", typeof(string));
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Leopard");
        table.Rows.Add("Cheetah");
        table.Rows.Add("Hyenas");

        // Create a new workbook and get the default worksheet
        var workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.DefaultWorkSheet;

        // Add table data to worksheet
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Save worksheet data to a CSV file
        workbook.SaveAsCsv(filepath, ";");

        // Optionally convert workbook to a stream, useful for web applications
        var stream = workbook.ToStream();
    }
}
using IronXL;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        ExportToExcel("test.csv");
    }

    // Method to export a DataTable to an Excel sheet which is then saved as a CSV file
    public static void ExportToExcel(string filepath)
    {
        // Create a DataTable and add columns & rows
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animals", typeof(string));
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Leopard");
        table.Rows.Add("Cheetah");
        table.Rows.Add("Hyenas");

        // Create a new workbook and get the default worksheet
        var workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.DefaultWorkSheet;

        // Add table data to worksheet
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Save worksheet data to a CSV file
        workbook.SaveAsCsv(filepath, ";");

        // Optionally convert workbook to a stream, useful for web applications
        var stream = workbook.ToStream();
    }
}
$vbLabelText   $csharpLabel

上面的 CSV 範例展示如何將DataTable匯出到 CSV 檔案。首先建立DataTable ,即建立列標題,然後在建立第一列後,逐行新增資料。將行和列新增至DataTable物件後,即可建構WorkBook物件。 WorkBook物件用於向 Excel 工作表新增數據,然後可以將工作表儲存到其他位置。 下一步是初始化WorkSheet對象,該物件與工作簿對象關聯。

在將值新增至工作表之前,使用foreach循環從DataTable中讀取每個值。 SaveAsCsv函數用於將資料儲存到 CSV 檔案中,前提是所有資料都已放入工作表中,並且檔案名稱作為參數。 如果需要,可以使用分隔符號作為可選參數。 該庫隨後會協助將資料寫入 CSV 檔案。除了 Microsoft Excel 之外,還可以使用記事本來讀取 CSV 檔案。 此外, Save方法用於將內容儲存為指定的文件格式。

如何在 .NET Core 中匯出為 CSV 文件,圖 7:輸出 Excel 文件 test.csv 輸出檔:Excel 文件 test.csv

以上是運行程式碼範例的輸出結果。 截圖中顯示的是資料表中每一個資訊分別加入到新建立的 Excel 表格中。 或者,它也可以作為 Web 應用程式的一部分轉換為流,以傳回可以從客戶端下載的檔案。

有關將資料從 DataTable 匯出到 Excel 的更多信息,請查看此教學頁面。

若要了解如何將資料匯出至 Excel,請參閱此逐步教學

5.0 結論

IronXL是使用最廣泛的Excel實用程式之一。 它不依賴任何其他外部庫。 它是獨立運行的,無需安裝 Microsoft Excel。 此外,它還透過多種管道發揮作用。

IronXL為所有透過程式實現的 Microsoft Excel 文件相關操作提供全面的解決方案。 計算公式、對字串或數字進行排序、修剪、追加、尋找和替換、合併和取消合併、保存檔案等等,這些操作都是可能的。 除了驗證電子表格資料外,您還可以設定儲存格資料類型。它簡化了 Excel 資料的處理,並允許您讀取和寫入檔案。

IronXL 提供免費試用許可證,用戶可以免費試用和測試其所有令人驚嘆的功能。

IronXL 在發佈時以$799價格提供。 用戶也可以選擇支付一年的訂閱費,以獲得更新和產品支援。 IronXL 提供無限制再分送的安全保障,但需額外收費。 如需查詢更精確的價格數據,請造訪 IronXL 的授權頁面

常見問題解答

如何使用 .NET Core 將資料匯出到 CSV 檔案?

在 .NET Core 應用程式中,您可以使用 IronXL 將資料匯出到 CSV 檔案。首先在 Visual Studio 中建立一個新的 .NET Core 項目,透過 NuGet 安裝 IronXL,然後使用其WorkBookWorkSheet對象,透過SaveAsCsv方法將資料儲存為 CSV 檔案。

是否可以在不使用 Microsoft Office 的情況下讀取和寫入 Excel 檔案?

是的,IronXL 可讓您在無需 Microsoft Office 或Microsoft.Office.Interop.Excel情況下讀取和寫入 Excel 檔案。它提供了一個獨立的解決方案,用於在 .NET 應用程式中管理 Excel 電子表格。

在 .NET Core 中使用 IronXL 進行 CSV 匯出有哪些好處?

IronXL 為在 .NET Core 中處理 CSV 匯出提供了一個簡單且有效率的方法。它支援多個平台,無需 Microsoft Office,並提供公式計算、資料排序和大型資料集處理等功能。

如何在 .NET Core 專案中安裝 IronXL?

要在 .NET Core 專案中安裝 IronXL,可以使用套件管理器控制台,透過命令Install-Package IronXL ,或使用 Visual Studio 中的 NuGet 套件管理器 UI 搜尋並安裝「IronXL」。

我可以在Windows以外的平台上使用IronXL嗎?

是的,IronXL相容於多種平台,包括Windows、macOS和Linux。它還支援Xamarin、Azure、.NET Core和.NET Framework應用程序,使其能夠靈活應用於各種環境。

如何使用 IronXL 在 Excel 中處理大型資料集?

IronXL 利用其強大的 C# API,能夠有效地處理 Excel 中的大型資料集。它支援快速資料操作,相容於多種 Excel 格式,並提供排序和驗證資料等功能。

IronXL是否支援Excel公式計算?

是的,IronXL 支援 Excel 公式計算。您可以使用 IronXL 的 API 對電子表格資料執行複雜的計算,就像在 Excel 中一樣。

IronXL有哪些授權許可方案?

IronXL 提供免費試用許可證,方便用戶測試其各項功能,同時也提供多種授權選項,以實現完整功能。這使開發人員能夠靈活選擇適合自身需求的方案。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。