使用 IRONXL 如何使用 IronXL 透過 C# 將 SQL 資料匯出到 Excel 喬迪·巴迪亞 更新:1月 5, 2026 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 分享 分享到 X(Twitter) 在領英上分享 複製連結 電子郵件文章 將資料從 SQL Server 匯出至 Microsoft Excel 是 .NET 開發人員建立報表系統、資料分析工具和商業應用程式的共同需求。 本教學示範如何使用 C# 與 IronXL將 SQL 資料匯出至 Excel,IronXL.Excel 是一個功能強大的 Excel 函式庫,可簡化整個過程而不需要安裝 Microsoft Office。 開始您的免費試用,跟隨以下的程式碼範例。 !{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110-- 從 SQL Server 資料庫匯出資料的最佳方式是什麼? 從 SQL Server 匯出資料至 Excel 檔案的最有效方法包含三個步驟:建立資料庫連線、擷取資料至 `DataTable` 中,以及使用 IronXL.Excel 將資料寫入 Excel 工作表。 與 Microsoft Interop 解決方案不同,IronXL.Excel 可獨立運作,並能以優異的效能處理大型資料集。 如何連接至 SQL Server 並擷取資料? 在匯出 SQL 資料之前,您需要先建立連線並執行 SQL 查詢,以填充 `DataTable` 。 連接字串包含存取資料所需的 SQL Server 資料庫憑證和伺服器資訊。 您需要在 Visual Studio 專案中匯入下列命名空間: ```cs using IronXL; using System.Data; using System.Data.SqlClient; // Define connection string for SQL Server string connectionString = @"Data Source=localhost;Initial Catalog=Northwind;Integrated Security=True"; // SQL query to retrieve data from SQL Server table string sql = "SELECT * FROM Customers"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Use SqlDataAdapter to fill DataTable with query results SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); DataTable dt = new DataTable(); adapter.Fill(dt); // Create new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("CustomerData"); // Export DataTable to Excel worksheet with column names int rowIndex = 1; // Write column headers from DataTable for (int j = 0; j < dt.Columns.Count; j++) { workSheet.SetCellValue(0, j, dt.Columns[j].ColumnName); } // Fill worksheet with data values for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { string cellValue = dt.Rows[i][j].ToString(); workSheet.SetCellValue(rowIndex, j, cellValue); } rowIndex++; } // Save Excel file in xlsx format workBook.SaveAs("CustomerExport.xlsx"); } ``` ### 輸出 。 此代碼會建立一個 Excel 檔案,其中的列標題格式正確,這些列標題源自您的 SQL Server 資料表結構。 `DataTable dt` 會儲存查詢結果,然後有系統地寫入每個 Excel 表單的儲存格中。 以下程式碼示範了填充工作表單格的 add 方法模式。 IronXL 支援 xls 和 xlsx 兩種格式,可與 Microsoft Office 應用程式達到最大的相容性。 如何使用 ASP.NET 匯出按鈕匯出資料? 對於網路應用程式,您通常會在使用者按下匯出按鈕時觸發匯出。 以下程式碼顯示如何使用 `Response.AddHeader` 處理按鈕點選事件並啟動檔案下載的內容處理。 ```cs using IronXL; using System; using System.Data; using System.Data.SqlClient; using System.IO; using System.Web.UI; public partial class ExportPage : Page { private void ExportButton_Click(object sender, EventArgs e) { string connectionString = @"Data Source=localhost;Initial Catalog=Sales;Integrated Security=True"; try { using (SqlConnection connection = new SqlConnection(connectionString)) { // Execute SQL query to get data from SQL server SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Orders", connection); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); // Create Excel workbook from DataSet - each table becomes a sheet WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); // Convert to byte array for download byte[] fileBytes = workBook.ToByteArray(); string filename = "OrdersExport.xlsx"; // Set response headers for file download Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); Response.BinaryWrite(fileBytes); Response.End(); } } catch (Exception ex) { // Handle any errors during export Response.Write("Export error: " + ex.Message); } } } ``` ### 匯出按鈕範例 。 ### 輸出 。 `object sender` 和 `EventArgs e` 參數是 ASP.NET 事件處理器的標準參數。 IronXL 與 Microsoft Interop 不同,Microsoft Interop 需要 `object misValue` 來處理遺失的參數,而 IronXL 則使用較為乾淨的 API。 當使用者按下匯出按鈕時,此私有 void 方法會執行資料庫查詢、建立 Excel 文件,並透過瀏覽器觸發檔案下載。 如何匯入資料並建立有欄頭的 Excel 檔案? IronXL 提供多種方法來[有效率地建立 Excel 檔案](/csharp/excel/tutorials/create-excel-file-net/)和[匯入資料](/csharp/excel/how-to/csharp-import-excel/)。 `LoadWorkSheetsFromDataSet` 方法接受 `DataTable` 集合,並自動將列名保留為 Excel 工作表中的標題。 此方法可與 `System.Data` 物件和 Microsoft SQL Server 無縫配合。 ```cs using IronXL; using System.Data; using System.Data.SqlClient; // Connection to SQL database string connectionString = @"Data Source=.;Initial Catalog=Inventory;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Query multiple tables from database SqlDataAdapter productsAdapter = new SqlDataAdapter("SELECT * FROM Products", connection); SqlDataAdapter categoriesAdapter = new SqlDataAdapter("SELECT * FROM Categories", connection); DataSet dataSet = new DataSet(); productsAdapter.Fill(dataSet, "Products"); categoriesAdapter.Fill(dataSet, "Categories"); // Create new workbook and load all tables WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); // Save as xlsx file workBook.SaveAs("InventoryReport.xlsx"); } ``` ### 輸出 。 此方法可有效處理多個 SQL Server 表格,在單一工作簿中建立獨立的工作表標籤。 對於使用儲存程序的應用程式,只要使用 `CommandType.StoredProcedure` 將內嵌的 SQL 查詢取代為您的程序呼叫即可。 使用 HTML 標記的 Web 應用程式如何? 在 ASP.NET 應用程式中,HTML 標記由按鈕和資料網格組成,IronXL for .NET 可與之無縫整合。 您頁面的 HTML 標記由觸發伺服器端匯出作業的標準網頁控制項組成,而 IronXL 則處理所有 Excel 的產生,無須依賴 Microsoft Office。 有關 [ 匯出 DataSet 和 DataTable 物件](/csharp/excel/how-to/export-dataset-datable/)的詳細指引,請造訪 IronXL.Excel 文件。 ## 結論 有了 IronXL.Excel,使用 C# 將 SQL 資料匯出至 Excel 就變得簡單直接。 該函式庫消除了複雜的 Interop 相依性,同時提供對 `DataTable`, `DataSet` 以及直接資料庫整合的強大支援。 無論是建立主控台應用程式或具有檔案下載功能的網頁型報表系統,IronXL.Excel 都能提供可靠的 Excel 檔案生成功能。 [購買授權](/csharp/excel/licensing/)進行生產部署,或使用 [免費試用](trial-license)繼續探索,在您的 .NET 專案中測試此 Excel 函式庫的全部功能。 常見問題解答 如何使用 C# 將 SQL 資料匯出到 Excel? 您可以使用 C# 和功能強大的 Excel 庫 IronXL 將 SQL 資料匯出到 Excel。它簡化了匯出過程,並且無需安裝 Microsoft Office。 使用 IronXL 匯出 SQL 資料有哪些前提條件? 要使用 IronXL 匯出 SQL 數據,您需要對 C# 有基本的了解,能夠存取 SQL Server,並且您的開發環境中已安裝 IronXL 程式庫。 我是否需要安裝 Microsoft Office 才能使用 IronXL 將 SQL 資料匯出到 Excel? 不,IronXL 允許您將 SQL 資料匯出到 Excel,而無需在您的系統上安裝 Microsoft Office。 IronXL在將SQL資料匯出到Excel時能否處理大型資料集? 是的,IronXL 能夠有效率地處理大型資料集,因此適合將大量的 SQL 資料匯出到 Excel。 IronXL 是否相容於所有版本的 SQL Server? IronXL 旨在與各種版本的 SQL Server 搭配使用,確保在不同環境下的相容性和易用性。 將 SQL 資料匯出到 Excel 有哪些應用場景? 將 SQL 資料匯出到 Excel 對於建立報表系統、資料分析工具和業務應用程式非常有用,因為在這些系統中,資料需要以廣泛使用的格式輕鬆存取和共用。 IronXL 是否支援 Excel 檔案的格式設定選項? 是的,IronXL 提供了一系列格式選項,可讓您自訂匯出的 Excel 檔案的外觀和結構。 IronXL 如何簡化將 SQL 資料匯出到 Excel 的過程? IronXL 簡化了匯出流程,提供了連接到 SQL Server、擷取 DataTable 記錄和產生 Excel 檔案的直覺方法,無需複雜的設定或額外的軟體。 喬迪·巴迪亞 現在就和工程團隊聊天吧 軟體工程師 喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。 相關文章 已發布 1月 21, 2026 C# CSV 庫:IronXL,用於讀取、寫入和 Excel 轉換 學習如何使用 IronXL 作為 C# CSV 函式庫。透過簡單的程式碼範例,了解如何讀取、寫入 CSV 和 Excel 格式,以及在兩者之間進行轉換。 閱讀更多 已發布 1月 21, 2026 C# 將 CSV 檔案讀取到 DataTable:完整開發者指南 學習如何使用 IronXL 在 C# 中有效地將 CSV 檔案讀取到 DataTable 中。包含 CSV 解析和資料庫導入的簡單程式碼範例。 閱讀更多 已發布 1月 21, 2026 使用 IronXL 在 VB.NET 中開啟 Excel 檔案 - 無需 Office 互通 學習如何在不使用 Microsoft Office 的情況下,使用 VB.NET 開啟和讀取 Excel 檔案。本教學使用 IronXL 編寫,並提供 XLSX/XLS 處理的範例程式碼。 閱讀更多 C# DataGridView 匯出到 Excel 並帶格式:完整指南使用 IronXL 在 C# 中讀取 Exce...
已發布 1月 21, 2026 C# CSV 庫:IronXL,用於讀取、寫入和 Excel 轉換 學習如何使用 IronXL 作為 C# CSV 函式庫。透過簡單的程式碼範例,了解如何讀取、寫入 CSV 和 Excel 格式,以及在兩者之間進行轉換。 閱讀更多
已發布 1月 21, 2026 C# 將 CSV 檔案讀取到 DataTable:完整開發者指南 學習如何使用 IronXL 在 C# 中有效地將 CSV 檔案讀取到 DataTable 中。包含 CSV 解析和資料庫導入的簡單程式碼範例。 閱讀更多
已發布 1月 21, 2026 使用 IronXL 在 VB.NET 中開啟 Excel 檔案 - 無需 Office 互通 學習如何在不使用 Microsoft Office 的情況下,使用 VB.NET 開啟和讀取 Excel 檔案。本教學使用 IronXL 編寫,並提供 XLSX/XLS 處理的範例程式碼。 閱讀更多