使用IRONXL

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

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

介紹

IronXL 是一個受歡迎的函式庫,它允許開發人員在不安裝 Microsoft Excel 的情況下,使用 C# .NET 技術與 Microsoft Excel 文件互動,包括 CSV 文件。 它能夠自動將註冊類型轉換為 CSV 文件,並撰寫具有自定義結構的 CSV 文件。

IronXL 資料庫功能

Microsoft Excel 文件可以使用 C# IronXL .NET 庫讀取並轉換為 CSV 文件。 IronXL 是一個獨立的 .NET 軟體庫,可以讀取各種試算表格式。 它不依賴於 Microsoft.Office.Interop.Excel,也不需要安裝 Microsoft Excel。

借助IronXL友好的C# API,您可以在.NET環境中快速讀取、修改和創建Excel電子表格文件。 IronXL 完全支援 .NET Core、.NET Framework、Xamarin、Mobile、Linux、macOS 和 Azure。

  • 領先的 .NET Core 和 .NET Framework Excel 試算表庫中包含 IronXL。
  • 幾乎所有的 .NET Framework,包括控制台、Windows Forms 和 Web,都受到 IronXL 的支持。
  • 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 Framework 版本

在應用程式生成解決方案後,將開啟 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 套件可以作為第三個選擇直接從網站下載。

  • 探索Official 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 格式.

結論

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

IronXL 提供一個全方位解決方案,能夠以編程方式實現所有與 Microsoft Excel 文件相關的任務。 您可以執行公式計算、字串或數字排序、修剪和附加、查找和替換、合併和取消合併、保存文件等。您還可以設置單元格數據格式並驗證電子表格數據。 它還支援讀取和寫入 CSV 檔案,幫助您像 Excel 資料一樣工作。

IronXL 的起始價格為 $749。 此外,它還為用戶提供支付一年訂閱費以獲得產品支援和更新的選擇。 IronXL 提供無限制重新分發的安全性,需額外付費。 要了解更多關於價格的詳細資訊,請造訪此 授權頁面

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

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

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