使用IRONXL

在 C# 中將 DataTable 轉換為 Excel (示例代碼教程)

已更新 2024年1月7日
分享:

以程式方式更改 Excel 試算表可能會很困難,主要有兩個原因。 首先,處理試算表時,用戶必須保持一致的介面和文件結構,但這並不總是很簡單。 其次,當涉及複雜計算時,並不總是清楚哪些代碼能在特定情況下運行。 以程式方式建立 Excel 文件存在諸多困難原因。 程式設計師必須先將 Excel 文件中的資料轉換成可讀格式,然後解析資料並解析回去,這更加困難。 我已提出了解决此問題的方案。 我將教您如何製作一個 Excel 文件,並使用 IronXL .NET Excel 庫無需任何問題以程式方式將資料表導出到 Excel 工作表。 開始吧:

IronXL 功能

  • IronXL 可以在多種作業系統上運行,包括 Windows,Linux,和macOS.
  • IronXL 支援幾乎所有的 .NET Framework,包括 Console、Windows Forms Application,及Web應用程式.
  • IronXL使讀取Excel文件變得簡單和容易。
  • 我們可以載入、編輯,匯出 Datatables, 匯出數據集,及讀取 Excel 檔案格式例如使用 IronXL 的 XLSX 文件、XLS、CSV、TSV、XLST、XLSM 文件等。
  • IronXL允許我們保存和導出文件包括多種擴展名,例如XLS、CSV、TSV、JSON、XLSX等。

    *Excel 公式可以由IronXL創建。

  • 文字、數字、公式、日期、貨幣、百分比及其他Excel 單元格數據格式由 IronXL 支援。
  • 它還提供眾多排序選項例如 Range、Columns 和 Rows 等。
  • IronXL 中的儲存格樣式包括字體,大小,背景模式,邊框,對齊方式等等。
  • 我們可以使用 IronXL 讀取和匯出 Excel 檔案中的資料。
  • IronXL 不需要在您的伺服器上安裝 Excel 或 Interop。 IronXL API 比 Microsoft Office、Interop 和 Excel 更快速且更容易使用。

1 在 Visual Studio 中建立新專案

要使用IronXL庫,我們必須在Visual Studio中創建一個.NET專案。 您可以使用任何版本的 Visual Studio,但建議使用最新版本。 您可以根據需求創建像 Windows Forms 或不同專案範本的應用程式。 在這個教程中,我將使用主控台應用程式,以便更簡單。

如何將大量數據從資料表導出到 Excel 在 C# 中,圖 1:在 Visual Studio 中創建一個新的項目 UI

在 Visual Studio 中創建新專案 UI

接下來,輸入專案名稱和專案的位置。

如何將巨大的資料從 Datatable 匯出到 Excel 在 C# 中,圖 2:建立新項目中的配置步驟

創建新專案的配置步驟

接下來,請選擇下列框架。 在此專案中,我們將使用 .NET Core 6。

如何將龐大的數據從DataTable導出到Excel中(以C#為例),圖3:.Net Framework選擇UI

.Net Framework 選擇界面

一旦應用程式創建了解決方案,它將打開 program.cs 文件,您可以在其中輸入代碼並構建/運行應用程式。

如何將大量數據從Datatable導出到Excel在C#中,圖4:新項目的空program.cs文件

新的專案中空的 program.cs 檔案

接下來,我們可以添加庫來測試代碼。

2 安裝 IronXL 庫

IronXL 庫可以通過四種方式下載和安裝。

這些是:

  • 使用 Visual Studio
  • 使用 Visual Studio 命令列。
  • 從 NuGet 網站直接下載。
  • 直接從 IronXL 網站下載。

2.1 使用 Visual Studio

我們可以使用 NuGet 套件管理器安裝 IronXL 庫。 您必須先打開 NuGet 套件管理器,然後在瀏覽選項卡中搜索 IronXL。 從搜尋結果中選擇IronXL並安裝。 之後,我們的專案將可以在 IronXL 庫中使用。

以下螢幕截圖顯示了我們如何在 Visual Studio 中打開 NuGet 套件管理器。

如何將大量資料從 DataTable 匯出到 Excel(C#),圖 5:在 Visual Studio 中導航到 NuGet 套件管理器

導航至 Visual Studio 的 NuGet 套件管理員

IronXL 在搜尋結果中:

如何將大量數據從 Datatable 匯出至 Excel 中的 C#,圖 6:搜索 IronXL 程式庫

搜尋 IronXL 函式庫

2.2 使用 Visual Studio 命令行

許多人喜歡使用控制台來執行操作。 因此,我們也可以通過控制台安裝它。 請按照以下步驟透過命令行安裝IronXL。

  • 在 Visual Studio 中,转到 工具-> NuGet 套件管理器 -> 套件管理器控制台
  • 在封裝管理員主控台標籤中輸入以下行:
Install-Package IronXL.Excel

現在套件將下載/安裝到當前專案並準備好使用。

如何從資料表中將大量數據導出到 Excel 文件(C#),圖7:通過控制台安裝 IronXL 套件

透過控制台安裝IronXL套件

2.3 從 NuGet 網站直接下載

第三種方式是直接從網站下載 NuGet 套件。

  • 導航至NuGet 官方 IronXL 套件頁面.
  • 從右側菜單中選擇下載套件選項。
  • 雙擊下載的包。 將自動安裝。
  • 接下來,重新載入解決方案並開始在專案中使用它。

2.4 從 IronXL 網站直接下載

點擊鏈接以下載最新套件直接從網站下載。下載後,按照以下步驟將套件添加到專案中。

  • 在解決方案窗口中右鍵點擊專案。
  • 然後,選擇選項參考,並瀏覽已下載參考的位置。
  • 接下來,點擊「確定」以添加參考。

使用 IronXL 將數據表導出到 Excel 文件

IronXL 讓我們能夠以有限的步驟輕鬆將數據表導出到 Excel 文件。

首先,我們需要像下面的代碼截圖中那樣包含IronXL的命名空間。 一旦添加後,我們就可以在代碼中使用 IronXL 類和方法。

如何透過C#將巨量資料從Datatable導出到Excel,第8步:在使用IronXL函式庫之前包含其命名空間

在使用該庫之前包括IronXL的namespace

IronXL 允許我們創建 Excel 文件並將其轉換為工作簿對象。 將它們轉換為物件後,我們可以執行各種操作。 在下面的範例程式碼中,我們將把一個資料表轉換成 Excel 工作表,然後我們可以創建一個 Excel 文件。

public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animal", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Cat")
	table.Rows.Add("Goat")
	table.Rows.Add("Panther")
	table.Rows.Add("Fox")
	table.Rows.Add("Cheetah")
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filePath, ";")
End Sub
VB   C#

在上述代碼中,我們將資料表匯出為 Excel 文件。首先,我們創建一個 DataTable,然後設置欄位標題。 創建列之後,我們逐一添加列。 一旦我們添加了列,然後我們創建Workbook物件。 透過使用該物件,我們可以將數據添加到 Excel 工作表,然後將數據保存至指定位置。 我們正在創建工作表物件允許建立工作表,然後我們可以將此加入到 WorkBook 物件中。

我們使用 foreach 迴圈逐一讀取數據表的值,然後將值添加到工作表中。 一旦所有數值都新增到工作表中,我們就使用名為 SaveAsCSV 的方法將它們保存為 CSV 文件——我們需要將分隔符和包含位置的文件名作為參數傳遞。 分隔符是一個可選參數,如果不需要可以忽略。

如何將巨量數據從 Datatable 匯出到 Excel 中的 C# 程式碼,圖 9:在 Visual Studio 中完成的代碼

在 Visual Studio 中完成的程式碼

以上是我們在 .NET Core 6 上使用的代碼的完整截圖。

結果:

如何從 C# 中將巨量資料從 Datatable 匯出到 Excel,圖 10:在 Microsoft Excel 中開啟檔案時的結果

在 Microsoft Excel 中打開檔案時的結果

以上是執行程式碼範例的結果。 在截圖中,數據表上的所有數據都已一一添加到新創建的 Excel 表中。

4 結論

IronXL 是最常用的 Excel 函式庫之一。 它不依賴於任何其他第三方庫。 它是獨立的,不需要安裝 MS Excel。 它可在多個平台上運行。 IronXL 的初始價格從 $749 起。 此外,它提供為期一年的產品支持和更新選項。 IronXL提供免版稅再分發保障服務,需額外付費。若要了解更多價格詳情,請造訪我們的授權頁面.

< 上一頁
C# 程式化地開啟 Excel 檔案(代碼示例教程)
下一個 >
如何在 Excel 中移动行

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

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