使用IRONXL

如何在 C# 中將 Datatable 導出到 CSV

已更新 2024年2月20日
分享:

介紹

IronXL 是一個受歡迎的庫,允許開發人員在 C# .NET 技術中與 Microsoft Excel 文檔(包括 CSV 文件)進行交互,而無需安裝 Microsoft Excel。它能夠自動將註冊類型轉換為 CSV 文件,並將具有自定義結構的 CSV 文件寫入。

IronXL Library 功能

使用 C# IronXL .NET 库可以读取和转换 Microsoft Excel 文件为 CSV 文件。IronXL 是一个独立的 .NET 软件库,可以读取多种电子表格格式。它不依赖于 Microsoft.Office.Interop.Excel,也不需要安装 Microsoft Excel。

借助 IronXL 的用户友好 C# API,您可以在 .NET 环境中快速读取、修改和创建 Excel 电子表格文件。IronXL 完全支持 .NET Core、.NET Framework、Xamarin、Mobile、Linux、macOS 和 Azure。

  • 领先的 C# .NET Core 和 .NET Framework Excel 电子表格库包括 IronXL。
  • IronXL 支持几乎所有的 .NET Framework,包括控制台、Windows 窗体和 Web。
  • IronXL 可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。
  • IronXL 使操作简单快速。 讀取Excel文件.
  • IronXL 支援讀取不同的 Excel 檔案格式,包括 XLSX 檔案、XLS、CSV、TSV、XLST、XLSM 檔案等等。我們還可以加載、修改、 匯出 Datatables匯出數據集和更多。
  • IronXL 可以匯出和儲存具有多種後綴的文件,包括 XLS、CSV、TSV、JSON 等。
  • IronXL 可以生成 Excel 計算.
  • IronXL 支援多種 Excel 欄數據格式包括文字、數字、公式、日期、貨幣和百分比。

如需詳細資訊,請訪問 這裡.

1. 在 Visual Studio 中建立一個新專案

在 Visual Studio 中,必須建立一個 .NET 專案才能使用 IronXL 框架。任何版本的 Visual Studio 都可以使用,但建議使用最新版本。根據您的需求,您可以建立類似 Windows Forms 的應用程式或使用不同的專案模板。為了簡化,本教學將使用控制台應用程式。

如何在 C# 中將 DataTable 導出為 CSV,圖 1:在 Visual Studio 中創建一個新項目

在 Visual Studio 中建立一個新專案

之後,輸入專案的名稱和位置。

如何將 DataTable 匯出為 CSV 在 C# 中,圖 2:配置新專案

配置新專案

接下來選擇以下結構。本次專案將使用 .NET Core 6。

如何在 C# 中將 Datatable 導出到 CSV,圖 3:選擇 .NET Framework 版本

選擇 .NET 框架版本

在應用程式生成解決方案後,將會打開 program.cs 檔案,以便您輸入程式碼並構建/運行應用程式。

如何將Datatable匯出為CSV於C#,圖4:新建的控制台應用程序專案

新創建的控制台應用程序項目

然後可以添加庫並用來評估代碼。

2. 安裝 IronXL 庫

有四種方法可以下載和安裝 IronXL 庫。

它們是:

  • 通過 Visual Studio 安裝
  • 使用 Visual Studio 套件管理器控制台安裝
  • 從 NuGet 官網直接下載
  • 從 IronXL 官網直接下載

使用 Visual Studio 安裝 IronXL

使用 NuGet 套件管理器可以安裝 IronXL 模組。要找到 IronXL,您必須先啟動 NuGet 套件管理器,然後在瀏覽窗格中進行查找。從搜索結果中選擇 IronXL 進行安裝。安裝完成後,該應用程式即可使用 IronXL 庫。

下圖展示了如何啟動 Visual Studio 的 NuGet 套件管理器。

如何在C#中匯出Datatable到CSV文件,圖5:導航到NuGet套件管理器

導航至NuGet套件管理員

如何將資料表匯出為CSV格式的C#代碼,圖6:在NuGet套件管理器UI中安裝IronXL套件

在NuGet套件管理器UI中安裝IronXL套件

使用 Visual Studio NuGet 套件管理器主控台安裝 IronXL

許多人喜歡使用控制台來執行任務。因此,終端機安裝也是一個選項。要使用命令行安裝 IronXL,請遵循以下指示。

  • 導航到 工具 > NuGet 套件管理器 > Visual Studio 中的套件管理器界面。
  • 在套件管理器的控制台選項卡中輸入以下命令:
    :ProductInstall
  • 等待 IronXL 被下載並安裝到當前專案中。

如何在 C# 中將數據表導出為 CSV,圖 7:在 Package Manager Console UI 中安裝 IronXL 套件

在套件管理器控制台 UI 中安裝 IronXL 套件

直接從 NuGet 網站下載 IronXL

使用第三種選項,您可以直接從網站下載 NuGet 套件。

  • 探索 官方 NuGet 連結.
  • 您可以在右側菜單中找到下載套餐選項。
  • 兩次點擊保存的文件。 它將立即安裝。
  • 之後重新加載答案,並開始在項目中使用它。

直接從 IronXL 網站下載

要直接從網站下載最新的軟體包, 請點擊這個链接 下載IronXL壓縮檔的連結. 此連結將下載包含最新版本IronXL庫DLL的ZIP檔案。下載完成後,將ZIP檔案的內容解壓縮到您選擇的任何目錄。

下載完成後,按照以下步驟將檔案添加到專案中。

  • 從解決方案視窗中,右鍵點擊文件。
  • 選擇參考,然後導航到包含IronXL DLL檔案的解壓縮資料夾。
  • 選擇DLL,點擊確定將其作為參考添加到活動專案中。

3.導出至CSV文件

可以使用IronXL輕鬆快速地將DataTables創建為CSV文件。它有助於將數據寫入新的CSV文件。

首先, 如下面的代碼圖像所示,應該包含IronXL命名空間以使用IronXL的類和方法。

如何在C#中將Datatable匯出到CSV,第8步:添加常見命名空間

添加常見命名空間

可以使用 IronXL 創建 Excel 文件,然後將它們轉換為 Workbook 對象。然後在將它們轉換為對象後進行各種操作。下面的範例代碼將通過將 DataTable 轉換為 Excel 工作表來構建一個 Excel 文件。

using IronXL;
using IronXL.Options;
using System.Data;

static void Main(String [] arg)
{
    ExportToExcel("H:\\test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("strawberry");
    table.Rows.Add("grapes");
    table.Rows.Add("watermelon");
    table.Rows.Add("bananas");
    table.Rows.Add("lemons");

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

static void Main(String [] arg)
{
    ExportToExcel("H:\\test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("strawberry");
    table.Rows.Add("grapes");
    table.Rows.Add("watermelon");
    table.Rows.Add("bananas");
    table.Rows.Add("lemons");

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

Shared Sub Main(ByVal arg() As String)
	ExportToExcel("H:\test.csv")
End Sub

Public Shared Sub ExportToExcel(ByVal filepath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Fruits", GetType(String))
	table.Rows.Add("Apple")
	table.Rows.Add("Orange")
	table.Rows.Add("strawberry")
	table.Rows.Add("grapes")
	table.Rows.Add("watermelon")
	table.Rows.Add("bananas")
	table.Rows.Add("lemons")

	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = wb.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
	wb.SaveAsCsv(filepath, ";")
End Sub
VB   C#

上述程式碼將 DataTable 匯出到 Excel 檔案。一旦建立 DataTable,就會創建列標題。然後,在建立第一列之後,一次新增一行。在將列和行新增到 DataTable 物件後,會建立 WorkBook 物件來保存這些數據。 工作表 物件會被建立,將其新增到WorkBook物件中。

每個來自DataTable的值都會在新增到WorkSheet之前,通過foreach迴圈讀取並新增。在所有值都加入到工作表後, SaveAsCsv 該方法用於將它們保存到一個 CSV 文件中;同時,我們也可以將分隔符和帶有位置的文件名稱作為參數。

如何在 C# 中將 DataTable 導出為 CSV,圖 9:輸出 CSV 文件

輸出的CSV檔案

上述為執行代碼示例的輸出。在截圖中,數據表中的每個數據都已單獨添加到新生成的Excel表格中。

若要了解更多有關IronXL教學的資訊,請點擊 如何導出為 Excel 格式.

結論

IronXL 是最受歡迎的 Excel 工具之一。它不依賴於任何外部來源的其他庫。它是自主的,不需要安裝 Microsoft Excel。它可在多個平台上運行。

IronXL 提供了 Microsoft Excel 文件相關任務的全方位解決方案,可以程式化地實現。您可以執行公式計算、字串或數字排序、修剪和附加、查找和替換、合併和取消合併、儲存檔案等。您還可以設置儲存格數據格式並驗證電子表格數據。它還支持讀取和寫入 CSV 檔案,幫助您像使用 Excel 數據一樣進行工作。

IronXL 的 起始價格為 $749。另外用戶亦可選擇支付一年訂閱費來獲得產品支持和更新。IronXL 另收取額外費用以提供無限制的重新發布安全性。欲了解更多相關價格資訊,請訪問此 授權頁面

< 上一頁
如何在 C# 中获取 Excel 文件中的单元格值
下一個 >
如何在 C# 中導入 Excel 文件

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

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