如何在 .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();
}
}Imports IronXL
Imports System.Data
Friend Class Program
Shared Sub Main(ByVal args() As String)
ExportToExcel("test.csv")
End Sub
' Method to export a DataTable to an Excel sheet which is then saved as a CSV file
Public Shared Sub ExportToExcel(ByVal filepath As String)
' Create a DataTable and add columns & rows
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")
' Create a new workbook and get the default worksheet
Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
Dim worksheet = workbook.DefaultWorkSheet
' Add table data to worksheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
worksheet("A" & rowCount).Value = row(0).ToString()
rowCount += 1
Next row
' Save worksheet data to a CSV file
workbook.SaveAsCsv(filepath, ";")
' Optionally convert workbook to a stream, useful for web applications
Dim stream = workbook.ToStream()
End Sub
End Class上面的 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,並使用其 WorkBook 和 WorkSheet 物件,以 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 套件管理員使用者介面搜尋並安裝「IronXL」。
我可以在 Windows 以外的平台上使用 IronXL 嗎?
是的,IronXL 與多種平台相容,包括 Windows、macOS 和 Linux。它也支援 Xamarin、Azure、.NET Core 和 .NET Framework 應用程式,因此適用於各種環境。
如何使用 IronXL.Excel 處理 Excel 中的大型資料集?
IronXL.Excel 可利用其強大的 C# API 高效處理 Excel 中的大型資料集。它允許快速的資料處理,支援各種 Excel 格式,並提供排序和驗證資料等功能。
IronXL 支援 Excel 公式計算嗎?
是的,IronXL 支援 Excel 公式計算。您可以使用 IronXL.Excel 的 API 對您的試算表資料執行複雜的計算,就像在 Excel 中一樣。
IronXL 是否有授權選項?
IronXL 提供免費的試用授權來測試其功能,以及各種完整功能的授權選項。這可讓開發人員彈性選擇適合其需求的方案。









