使用IRONXL

如何在 .NET Core 中匯出到 CSV

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

1.0 介紹

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

2.0 IronXL

IronXL適用於 .NET 的 C# Excel 庫可用於讀取和轉換 Microsoft Excel 文件為 CSV 檔案。 IronXL 是一個獨立的 .NET 軟體庫,可以在不安裝 Microsoft Office 或 Microsoft.Office.Interop.Excel 的情況下使用。 它可以讀取各種電子表格格式。

在 .NET 環境中,IronXL 的簡單 C# API 使讀取、編輯和生成 Excel 試算表變得輕而易舉。 Xamarin、Linux、macOS、Azure、.NET Core 和 .NET Framework 均由 IronXL 完全支持。

2.1 IronXL 函式庫功能

  • 在最好的 C# 程式庫中,IronXL 是用於 Excel 試算表的佼佼者,並且同時支援 .NET Core 及 .NET Framework。
  • IronXL 幾乎支援所有 .NET 框架,包括控制台、Windows Forms 和 Web 應用程式。
  • Windows、macOS 和 Linux 都與 IronXL 兼容。
  • 可以使用IronXL快速輕鬆地存取Excel檔案。
  • 像 XLSX 文件、CSV 文件、XLS、XSLT、TSV、XLSM 等 Excel 文件格式,都可以被 IronXL 讀取。 在許多可能性中,功能包括導入、更新和匯出數據集和數據表.

    *計算可以使用IronXL生成Excel電子表格。

  • 對於 Excel 欄,IronXL 支援多種數據類型,例如文字、整數、日期、貨幣、公式和百分比。
  • 日期、貨幣、百分比、文本、數字、公式,和其他 Excel 欄位數據類型都由 IronXL 支援。

3.0 建立 .NET Core 6 專案

在本期電子報的以下部分,您將看到使用IronXL庫建立CSV文件是多麼簡單。

第 1 步:啟動一個新項目以生成 CSV 檔案。

開啟Visual Studio並從「檔案」菜單中選擇「新專案」。

從接下來的對話框中選擇「Console App」.NET 專案模板,然後點擊「下一步」。

如何在 .NET Core 中導出至 CSV,圖 1:在 Visual Studio 中創建一個新的控制台應用程序

在 Visual Studio 中建立新的主控台應用程式

您可以隨意為「Project name」輸入任何名稱。 一旦在“位置”部分提供了新專案的位置,請點擊 下一步 按鈕繼續。

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

配置新專案

下拉選單可以用來選擇 .NET Framework。 在這種情況下,.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.11 剛剛發布

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