使用IRONXL

如何在 .NET Core 中匯出到 CSV

已更新 2024年8月23日
分享:

1.0 介紹

在最知名的庫之一, IronXL,將在本文中用於對比和比較 .NET 技術以程式化方式與 Microsoft Excel 文件的不同介面。它還將構建一個用於讀取、寫入和匯出 Excel 試算表到 CSV 文件的環境。

2.0 IronXL

The IronXL for .NET,C# Excel 程式庫可用來讀取和轉換 Microsoft Excel 文件為 CSV 文件。IronXL 是一個獨立的 .NET 軟體庫,可以在不安裝 Microsoft Office 或 Microsoft.Office.Interop.Excel 的情況下使用。它能夠讀取多種試算表格式。

在 .NET 環境中,使用 IronXL 簡單的 C# API,可以輕鬆讀取、編輯和生成 Excel 試算表。IronXL 完全支援 Xamarin、Linux、macOS、Azure、.NET Core 和 .NET Framework。

2.1 IronXL 函式庫功能

  • IronXL 是最好的 C# Excel 試算表函式庫之一,適用於 .NET Core 和 .NET Framework。
  • IronXL 支援幾乎所有的 .NET Framework,包括控制台、Windows Forms 和 Web 應用程式。
  • IronXL 與 Windows、macOS 和 Linux 均相容。
  • 使用 IronXL 可以快速且輕鬆地存取 Excel 文件。
  • IronXL 可以讀取包括 XLSX、CSV、XLS、XSLT、TSV、XLSM 等 Excel 文件格式。許多功能包括匯入、更新等功能。 匯出數據集和數據表. 計算 Excel 試算表可以由 IronXL 生成。
  • 對於 Excel 列,IronXL 支持 多種數據類型例如文字、整數、日期、貨幣、公式和百分比。
  • 日期、貨幣、百分比、文字、數字、公式和 其他 Excel 欄位數據類型 都由 IronXL 支援。

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 框架。在本例中,長期支持版本的 .NET 為 6.0。接下來,點擊 Create 按鈕。

如何在 .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;

static void main(String [] arg)
{
    ExportToExcel("test.csv");
}

public static void ExportToExcel(string filepath)
{
    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");

    var workbook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workbook.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    workbook.SaveAsCsv(filepath, ";");
    //or 
    var stream = workbook.ToStream();
}
using IronXL;
using System.Data;

static void main(String [] arg)
{
    ExportToExcel("test.csv");
}

public static void ExportToExcel(string filepath)
{
    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");

    var workbook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workbook.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    workbook.SaveAsCsv(filepath, ";");
    //or 
    var stream = workbook.ToStream();
}
Imports IronXL
Imports System.Data

Shared Sub main(ByVal arg() As String)
	ExportToExcel("test.csv")
End Sub

Public Shared Sub ExportToExcel(ByVal filepath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animals", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Leopard")
	table.Rows.Add("Cheetah")
	table.Rows.Add("Hyenas")

	Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workbook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		writer("A" & (rowCount)).Value = row(0).ToString()
		rowCount += 1
	Next row
	workbook.SaveAsCsv(filepath, ";")
	'or 
	Dim stream = workbook.ToStream()
End Sub
VB   C#

上面的 CSV 示例顯示如何將 DataTable 導出為 CSV 文件。在建立 DataTable 之後,即創建列標題並建立第一列之後,逐行添加行。在將行和列添加到 DataTable 對象之後,構建 WorkBook 對象。 WorkBook 對象可以用於向 Excel 表格中添加數據,然後可以將其保存到其他位置。下一步是開始 工作表 物件,與工作簿物件連結。

在將值添加到工作表之前,使用 foreach 迴圈逐一讀取 DataTable 中的每個值。 SaveAsCsv 函數用於將數據保存到 CSV 文件中,一旦數據全部放入工作表中,會將文件名稱作為參數。一個分隔符可以作為可選參數,如果不需要則忽略。該庫然後協助將數據寫入 CSV 文件。除了使用 Microsoft Excel 之外,還有另一種使用記事本讀取 CSV 文件的方法。此外,該方法 保存 被用來將相同內容保存到給定的文件格式中。

如何在 .NET Core 中匯出到 CSV,圖 7:輸出 Excel 檔案 test.csv

輸出 Excel 文件 test.csv

上面是運行代碼示例的輸出結果。數據表中的每條信息都被單獨添加到了截圖中新創建的 Excel 表格中。或者,它也可以作為 Web 應用程序的一部分轉換為流,以返回可以從客戶端下載的文件。

有關從 DataTable 導出數據到 Excel 的更多信息,請查看這個 教程 頁。

要了解有關如何將數據導出到 Excel 的更多信息,請參考這個 逐步教程.

5.0 結論

IronXL 是最廣泛使用的 Excel 工具之一。它不依賴任何其他外部庫。它是獨立的,不需要安裝 Microsoft Excel。此外,它可以通過多種渠道運作。

對於所有以程式設計方式實現的 Microsoft Excel 文件相關操作, IronXL 提供全面的解決方案。計算公式、排序字符串或數字、修剪、附加、查找和替換, 合併和取消合併儲存檔案等等。除了驗證試算表數據,您還可以設置單元格數據類型。它有助於處理Excel數據,並允許您讀取和寫入文件。

IronXL 提供一个 免費試用 許可證允許使用者免費嘗試和測試其所有驚人的功能。

在發布時,IronXL 可供 $749 購買。使用者也可以選擇支付一年訂閱費用以接收更新和產品支援。IronXL 提供無限制再分發的安全性,但需額外付費。要查詢更準確的定價數據,請訪問 IronXL 的 授權頁面.

< 上一頁
如何在 C# 中加載 Excel 文件
下一個 >
C# CSV 庫(開發者教程)

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

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