使用 IRONXL 如何使用 IronXL.Excel 使用 C# 将 SQL 数据导出到 Excel Curtis Chau 已更新:一月 5, 2026 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 将数据从 SQL Server 导出到 Microsoft Excel 是 .NET 开发人员构建报表系统、数据分析工具和业务应用程序的常见要求。 本教程演示了如何使用 C# 和 IronXL将 SQL 数据导出到 Excel,IronXL.Excel 是一个功能强大的 Excel 库,无需安装 Microsoft Office 即可简化整个过程。 开始免费试用,跟随下面的代码示例学习。 立即开始使用 IronXL。 免费开始 从 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 不同,后者需要 `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 标记的网络应用程序如何? 在 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? 利用 IronXL.Excel 这个功能强大的 Excel 库,您可以使用 C# 将 SQL 数据导出到 Excel。它简化了过程,而且不需要安装 Microsoft Office。 使用 IronXL 导出 SQL 数据的前提条件是什么? 要使用 IronXL 导出 SQL 数据,您需要对 C# 有基本的了解,能够访问 SQL Server,并在开发环境中安装 IronXL 库。 使用 IronXL.Excel 将 SQL 数据导出到 Excel 是否需要安装 Microsoft Office? 不,IronXL 允许您将 SQL 数据导出到 Excel,而无需在系统中安装 Microsoft Office。 IronXL.Excel 能否在将 SQL 数据导出到 Excel 时处理大型数据集? 是的,IronXL.Excel 能够高效处理大型数据集,因此适合将大量 SQL 数据导出到 Excel。 IronXL 兼容所有版本的 SQL Server 吗? IronXL 可与各种版本的 SQL Server 配合使用,确保在不同环境下的兼容性和易用性。 将 SQL 数据导出到 Excel 有哪些用例? 将 SQL 数据导出到 Excel 对于构建报表系统、数据分析工具和业务应用程序非常有用,在这些应用中,数据需要以一种广泛使用的格式方便地访问和共享。 IronXL 是否支持 Excel 文件的格式化选项? 是的,IronXL.Excel 提供一系列格式化选项,允许您自定义导出 Excel 文件的外观和结构。 IronXL.Excel 如何简化将 SQL 数据导出到 Excel 的过程? IronXL.Excel 通过提供连接到 SQL Server、检索 DataTable 记录和生成 Excel 文件的直观方法简化了导出过程,而无需复杂的设置或额外的软件。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布一月 21, 2026 C# CSV 库:IronXL,用于读取、写入和 Excel 转换 学习使用 IronXL 作为您的 C# CSV 库。读取、写入并在 CSV 和 Excel 格式之间转换,伴有简单代码示例。 阅读更多 已发布一月 21, 2026 C# 将 CSV 文件读取到 DataTable:完整开发者指南 学习如何在 C# 中使用 IronXL 有效地将 CSV 文件读取到 DataTable。包括 CSV 解析和数据库导入的简单代码示例。 阅读更多 已发布一月 21, 2026 使用 IronXL 在 VB.NET 中打开 Excel 文件 - 无需 Office 互操作 学习在 VB.NET 中无需 Microsoft Office 打开和读取 Excel 文件。通过 IronXL 的简单教程及工作代码示例处理 XLSX/XLS。 阅读更多 C# DataGridView Export to Excel with Formatting:完整指南用 IronXL.Excel 在 C# 中读取 E...
已发布一月 21, 2026 C# CSV 库:IronXL,用于读取、写入和 Excel 转换 学习使用 IronXL 作为您的 C# CSV 库。读取、写入并在 CSV 和 Excel 格式之间转换,伴有简单代码示例。 阅读更多
已发布一月 21, 2026 C# 将 CSV 文件读取到 DataTable:完整开发者指南 学习如何在 C# 中使用 IronXL 有效地将 CSV 文件读取到 DataTable。包括 CSV 解析和数据库导入的简单代码示例。 阅读更多
已发布一月 21, 2026 使用 IronXL 在 VB.NET 中打开 Excel 文件 - 无需 Office 互操作 学习在 VB.NET 中无需 Microsoft Office 打开和读取 Excel 文件。通过 IronXL 的简单教程及工作代码示例处理 XLSX/XLS。 阅读更多