使用 IRONXL 在 C# 中將 DataTable 導出到 Excel(代碼範例教程) Jordi Bardia 更新:6月 22, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 以程式方式修改 Excel 電子表格可能比較困難,主要有兩個原因。 首先,在使用電子表格時,使用者必須保持一致的介面和文件結構,但這並不總是那麼容易。 其次,在特定情況下,尤其是涉及複雜計算時,並不總是清楚哪些程式碼能夠正常運作。 以程式設計方式建立 Excel 檔案之所以困難,原因有很多。 程式設計師必須先將 Excel 文件中的資料轉換為可讀格式,然後再解析數據,最後再將其解析回來,這更加困難。 我已經找到了解決這個問題的方法。 我將教你如何使用 IronXL .NET Excel 庫輕鬆建立 Excel 文件,並透過程式設計將 DataTable 匯出到 Excel 工作表中。 讓我們開始吧: 如何在 C# 中將資料表匯出到 Excel 安裝 C# 庫以將 DataTable 匯出到 Excel 創建新的 Excel 工作簿並訪問工作表 在 C# 中遍歷DataTable的DataRow 存取Cell中的Value屬性,並將DataRow中的資料填入工作表中 將 Excel 工作表匯出到所需位置 IronXL 功能 IronXL 可在多種作業系統上運行,包括 Windows、 Linux和macOS 。 IronXL 支援幾乎所有 .NET Framework,包括控制台、Windows 窗體應用程式和Web 應用程式。 IronXL 讓讀取 Excel 檔案變得簡單輕鬆。 使用 IronXL,我們可以載入、編輯、匯出資料表,匯出資料集,並讀取 Excel 檔案格式,例如 XLSX 檔案、XLS、CSV、TSV、XLST、XLSM 檔案等。 IronXL 允許我們保存和匯出各種副檔名的文件,包括 XLS、CSV、TSV、JSON、XLSX 等。 IronXL 可以建立Excel 公式。 IronXL 支援文字、數字、公式、日期、貨幣、百分比和其他Excel 儲存格資料格式。 它還提供了多種排序選項,例如按範圍、列和行排序等。 IronXL 中的儲存格樣式包括字體、大小、背景圖案、邊框和對齊方式等。 我們可以使用 IronXL 讀取和匯出 Excel 檔案中的資料。 IronXL 不需要在您的伺服器上安裝 Excel 或 Interop。 IronXL API 比 Microsoft Office、Interop 和 Excel 更快、更容易使用。 1. 在 Visual Studio 中建立新項目 要使用 IronXL 函式庫,我們必須在 Visual Studio 中建立一個 .NET 專案。 您可以使用任何版本的 Visual Studio,但建議使用最新版本。 您可以根據自身需求建立類似 Windows Forms 的應用程式或不同的專案範本。 為了簡單起見,本教學將使用控制台應用程式。 如何使用 C# 將資料表中的大量資料匯出到 Excel?圖 1:在 Visual Studio 中建立一個新的專案 UI 在 Visual Studio 中建立一個新的專案 UI 接下來,輸入項目名稱和項目地點。 如何在 C# 中將資料表中的大量資料匯出到 Excel,圖 2:建立新專案的設定步驟 建立新專案的設定步驟 接下來,請選擇以下框架。 在這個專案中,我們將使用.NET Core 6。 如何使用 C# 將資料表中大量的資料匯出到 Excel,圖 3:.Net Framework 選擇介面 .NET Framework 選擇介面 應用程式建立解決方案後,將開啟 program.cs 文件,您可以在其中輸入程式碼並建置/執行應用程式。 如何在 C# 中將資料表中的大量資料匯出到 Excel,圖 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 套件管理器。 如何在 C# 中將資料表中的大量資料匯出到 Excel?圖 5:在 Visual Studio 中導覽至 NuGet 套件管理器 在 Visual Studio 中導覽至 NuGet 套件管理器 搜尋結果中的 IronXL: 如何使用 C# 將資料表中的大量資料匯出到 Excel,圖 6:尋找 IronXL 庫 搜尋 IronXL 庫 2.2 使用 Visual Studio 命令列 很多人喜歡使用控制台來執行操作。 所以,我們也可以透過控制台安裝它。 請依照以下步驟透過命令列安裝 IronXL。 在 Visual Studio 中,前往"工具" -> "NuGet 套件管理器" -> "套件管理器控制台" 。 在程式包管理器控制台標籤中輸入以下代碼: Install-Package IronXL.Excel 現在,套件將下載/安裝至目前的專案,並可立即使用。 如何在 C# 中將資料表中的大量資料匯出到 Excel,圖 7:透過控制台安裝 IronXL 套件 透過控制台安裝 IronXL 軟體包 2.3 直接從 NuGet 網站下載 第三種方式是直接從網站上下載 NuGet 套件。 導覽至NuGet 官方 IronXL 套件頁面。 請從右側功能表中選擇下載套件選項。 雙擊下載的套件。 它會自動安裝。 接下來,重新載入解決方案並開始在專案中使用。 2.4 直接從 IronXL 網站下載 點擊連結即可直接從網站下載最新軟體包。下載完成後,請按照以下步驟將軟體包新增至專案。 在解決方案視窗中右擊專案。 然後,選擇參考選項並瀏覽下載的參考檔案的位置。 接下來,點選確定新增參考文獻。 3. 使用 IronXL 將資料表匯出到 Excel 文件 IronXL 讓我們透過有限的步驟輕鬆地將資料表匯出到 Excel 檔案。 首先,我們需要像下面的程式碼截圖中一樣,包含 IronXL 的命名空間。 新增完成後,我們就可以在程式碼中使用 IronXL 類別和方法了。 如何在 C# 中將資料表中的大量資料匯出到 Excel,圖 8:在使用 IronXL 庫之前,請包含 IronXL 命名空間 使用 IronXL 庫之前,請包含其namespace 。 IronXL 允許我們建立 Excel 檔案並將其轉換為工作簿物件。 將它們轉換為物件後,我們可以執行各種類型的操作。 在下面的範例程式碼中,我們將把 DataTable 轉換為 Excel 工作表,然後我們可以建立一個 Excel 檔案。 using System; using System.Data; using IronXL; public class ExcelExporter { /// <summary> /// Exports a DataTable to an Excel file using IronXL. /// </summary> /// <param name="filePath">The file path where the Excel file will be saved.</param> public static void ExportToExcel(string filePath) { // Creating a DataTable with a single column DataTable table = new DataTable(); table.Columns.Add("DataSet_Animal", typeof(string)); // Adding some rows to the DataTable 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"); // Creating a new Excel Workbook WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); // Accessing the default worksheet WorkSheet ws = wb.DefaultWorkSheet; // Iterating through the DataTable rows int rowCount = 1; foreach (DataRow row in table.Rows) { // Adding each DataRow's first column value to the corresponding cell in the worksheet ws["A" + rowCount].Value = row[0].ToString(); rowCount++; } // Saving the workbook to a CSV file at specified file path with ";" as delimiter wb.SaveAsCsv(filePath, ";"); } } using System; using System.Data; using IronXL; public class ExcelExporter { /// <summary> /// Exports a DataTable to an Excel file using IronXL. /// </summary> /// <param name="filePath">The file path where the Excel file will be saved.</param> public static void ExportToExcel(string filePath) { // Creating a DataTable with a single column DataTable table = new DataTable(); table.Columns.Add("DataSet_Animal", typeof(string)); // Adding some rows to the DataTable 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"); // Creating a new Excel Workbook WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); // Accessing the default worksheet WorkSheet ws = wb.DefaultWorkSheet; // Iterating through the DataTable rows int rowCount = 1; foreach (DataRow row in table.Rows) { // Adding each DataRow's first column value to the corresponding cell in the worksheet ws["A" + rowCount].Value = row[0].ToString(); rowCount++; } // Saving the workbook to a CSV file at specified file path with ";" as delimiter wb.SaveAsCsv(filePath, ";"); } } Imports System Imports System.Data Imports IronXL Public Class ExcelExporter ''' <summary> ''' Exports a DataTable to an Excel file using IronXL. ''' </summary> ''' <param name="filePath">The file path where the Excel file will be saved.</param> Public Shared Sub ExportToExcel(ByVal filePath As String) ' Creating a DataTable with a single column Dim table As New DataTable() table.Columns.Add("DataSet_Animal", GetType(String)) ' Adding some rows to the DataTable 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") ' Creating a new Excel Workbook Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) ' Accessing the default worksheet Dim ws As WorkSheet = wb.DefaultWorkSheet ' Iterating through the DataTable rows Dim rowCount As Integer = 1 For Each row As DataRow In table.Rows ' Adding each DataRow's first column value to the corresponding cell in the worksheet ws("A" & rowCount).Value = row(0).ToString() rowCount += 1 Next row ' Saving the workbook to a CSV file at specified file path with ";" as delimiter wb.SaveAsCsv(filePath, ";") End Sub End Class $vbLabelText $csharpLabel 上面的程式碼是將資料表匯出到 Excel 檔案。首先,我們建立一個DataTable ,然後建立列標題。 建立好列之後,我們再逐行加入。 新增完行之後,我們就建立WorkBook物件。 透過使用該對象,我們可以將資料新增至 Excel 表格中,然後將資料儲存到指定位置。 我們正在建立WorkSheet對象,該物件允許建立工作表,然後我們可以將其新增至WorkBook物件中。 我們使用foreach循環逐一讀取 DataTable 中的值,然後將這些值加入工作表中。 將所有值新增至工作表後,我們使用名為SaveAsCsv的方法將它們儲存到 CSV 檔案中——我們需要將分隔符號和檔案名稱以及位置作為參數傳遞。 分隔符號是一個可選參數,如果不需要,我們可以忽略它。 如何使用 C# 將資料表中的大量資料匯出到 Excel,圖 9:Visual Studio 中的完整程式碼 Visual Studio 中的完整程式碼 以上是我們在 .NET Core 6 上使用的程式碼的完整螢幕截圖。 Result: 如何使用 C# 將資料表中的大量資料匯出到 Excel,圖 10:在 Microsoft Excel 中開啟檔案後的結果 在 Microsoft Excel 中開啟檔案後的結果 以上是執行程式碼範例的結果。 在截圖中,資料表中的所有資料都已逐一新增至新建立的 Excel 表格中。 4 結論 IronXL 是最常使用的 Excel 庫之一。 它不依賴任何其他第三方程式庫。 它是獨立的,無需安裝微軟Excel。 它可在多個平台上運作。 IronXL 的入門價格為$799起。 此外,還提供一年的產品支援和更新服務選項。 IronXL 提供免版稅再分送保障,但需額外付費。如需了解更多價格詳情,請造訪我們的授權頁面。 常見問題解答 如何在 C# 中將 DataTable 匯出至 Excel 檔案? 您可以使用 IronXL.Excel 的 WorkBook 和 WorkSheet 類別,將 DataTable 匯出至 Excel 檔案。建立 DataTable,遍歷其行,並使用 IronXL.Excel 的 API 將資料填入 Excel 檔案。 與 Interop 相比,使用 IronXL 進行 Excel 作業有哪些優點? IronXL.Excel 比 Microsoft Interop 更快、更有效率,不需要安裝 Microsoft Excel,並支援多種平台和檔案格式。 IronXL 支援 Excel 檔案的哪些檔案格式? IronXL.Excel 支援多種 Excel 檔案格式,包括 XLSX、XLS、CSV、TSV、XLST 和 XLSM,可進行多樣化的檔案操作。 IronXL.Excel 在匯出資料時可以處理 Excel 公式嗎? 是的,IronXL.Excel 可以處理 Excel 公式,確保從 DataTable 匯出資料到 Excel 檔案時,能保留複雜的計算。 哪些作業系統與 IronXL 相容? IronXL 與多種作業系統相容,包括 Windows、Linux 和 macOS,可進行跨平台開發。 使用 IronXL 是否需要安裝 Microsoft Excel? 不,IronXL.Excel 可獨立於 Microsoft Excel 運作,讓您無需在伺服器上安裝 Excel 即可處理 Excel 檔案。 如何安裝 IronXL 以在 C# 專案中使用? 您可以透過 Visual Studio 中的 NuGet 套件管理員、使用命令列、或直接從 NuGet 或 IronXL 網站下載來安裝 IronXL。 IronXL 支援哪些 .NET Framework? IronXL 支援多種 .NET Framework,包括 Console、Windows Forms 應用程式和 Web 應用程式,因此適用於不同類型的專案。 IronXL 是否支援 Excel 檔案中儲存格的樣式與格式化? 是的,IronXL.Excel 提供各種儲存格樣式與格式化選項,例如設定字型樣式、顏色和邊框,以提升 Excel 檔案的外觀。 IronXL.Excel 如何簡化以程式化方式建立 Excel 檔案的過程? IronXL.Excel 透過提供易於使用的 API 來建立、修改和匯出 Excel 檔案,而不需要維護其他方法所需的介面和結構的複雜性,從而簡化了流程。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多 發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 C# 程式化地開啟 Excel 文件(代碼範例教程)如何在 Excel 中移動行
發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多
發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多
發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多