没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-08-18 16:57:24.280|阅读 12 次
概述:将数据库数据导出为 Excel 文件,也因此成为实现报表生成、审计追踪、数据迁移和临时分析等需求时的一种高频操作。本文将介绍如何使用 Spire.XLS for .NET 通过 C# 将数据库记录高效导出到 Excel 文件。示例以 SQL Server 数据库为基础,但相同方法也适用于 SQLite、MySQL、Oracle 等其他关系型数据库,只需调整连接方式即可。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在企业应用开发中,Excel 通常被用作在技术人员与业务人员之间传递结构化数据的桥梁,因其格式灵活、易于共享且用户普遍熟悉。而将数据库数据导出为 Excel 文件,也因此成为实现报表生成、审计追踪、数据迁移和临时分析等需求时的一种高频操作。
E-iceblue旗下Spire系列产品是文档开发领域的佼佼者,支持国产化信创。本文将介绍如何使用 Spire.XLS for .NET 通过 C# 将数据库记录高效导出到 Excel 文件。示例以 SQL Server 数据库为基础,但相同方法也适用于 SQLite、MySQL、Oracle 等其他关系型数据库,只需调整连接方式即可。
欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升文档开发技能~
在开始编码之前,请先确认开发环境已就绪:
示例数据库
以下 SQL 脚本在 SQL Server Express 中创建一个 Employees 表并插入测试数据:
CREATE TABLE Employees ( Id INT PRIMARY KEY IDENTITY, Name NVARCHAR(100) NOT NULL, Department NVARCHAR(50) NOT NULL, Position NVARCHAR(50), HireDate DATE NOT NULL, Salary DECIMAL(10, 2) NOT NULL, IsFullTime BIT NOT NULL ); INSERT INTO Employees (Name, Department, Position, HireDate, Salary, IsFullTime) VALUES (N'张伟', N'人力资源部', N'人事经理', '2018-05-01', 5500.00, 1), (N'李强', N'信息技术部', N'软件工程师', '2020-09-15', 7200.50, 1), (N'王芳', N'财务部', N'会计', '2019-11-20', 6300.75, 0), (N'陈丽', N'市场部', N'内容专员', '2021-02-10', 4800.00, 1);如果使用 MySQL 或 SQLite,只需调整 SQL 语法与连接字符串,整体导出逻辑不变。
以 SQL Server Express 为例,使用 SqlConnection 建立连接:
string connectionString = @"Data Source=YourServer\SQLEXPRESS;Initial Catalog=YourDatabaseName;Integrated Security=True;";
使用 SqlDataAdapter 执行查询并填充 DataTable:
using System.Data; using Microsoft.Data.SqlClient; DataTable dataTable = new DataTable(); using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); string query = "SELECT * FROM Employees"; using (SqlDataAdapter adapter = new SqlDataAdapter(query, conn)) { adapter.Fill(dataTable); } }
using Spire.Xls; Workbook workbook = new Workbook(); workbook.Worksheets.Clear(); Worksheet sheet = workbook.Worksheets.Add("Employees"); // 从第 1 行第 1 列插入 DataTable 数据,并包含列标题 sheet.InsertDataTable(dataTable, true, 1, 1); // 保存为 Excel 2013 格式 workbook.SaveToFile("Employees.xlsx", ExcelVersion.Version2013);
核心方法:
InsertDataTable(DataTable table, bool columnHeaders, int firstRow, int firstColumn)
SaveToFile:可保存为 .xlsx、.xls、.csv 等格式,也可保存到流中
导出数据后,可以通过以下方式提高可读性:
// 表头样式 sheet.Rows[0].Style.Font.IsBold = true; sheet.Rows[0].Style.Font.Size = 14; sheet.Rows[0].Style.HorizontalAlignment = HorizontalAlignType.Center; sheet.Rows[0].Style.Color = System.Drawing.Color.LightGray; // 数据行样式 for (int i = 1; i < sheet.Rows.Count(); i++) { var dataRow = sheet.Rows[i]; dataRow.Style.Font.Size = 12; dataRow.Style.HorizontalAlignment = HorizontalAlignType.Left; } // 设置全局字体 sheet.AllocatedRange.Style.Font.FontName = "微软雅黑"; // 添加边框 sheet.AllocatedRange.BorderAround(LineStyleType.Thin, System.Drawing.Color.Black); sheet.AllocatedRange.BorderInside(LineStyleType.Medium, System.Drawing.Color.Black); // 自动调整列宽 sheet.AllocatedRange.AutoFitColumns();
除了 DataTable 之外,你还可以:
使用 Entity Framework
var employees = dbContext.Employees.ToList();
然后将集合转换为 DataTable 或逐行写入 Excel。
调用存储过程
SqlCommand cmd = new SqlCommand("GetEmployees", conn); cmd.CommandType = CommandType.StoredProcedure;
读取 SQLite / MySQL / Oracle 只需更换连接类型和驱动(Microsoft.Data.Sqlite、MySql.Data 等),其余导出逻辑相同。
问题 | 可能原因与解决方案 |
---|---|
Excel 文件为空 | 检查 DataTable 是否在导出前已正确填充 |
文件无法保存 | 确认保存路径存在且有写入权限 |
无法连接数据库 | 检查服务器是否启动、连接字符串是否正确 |
特殊字符乱码 | 数据库列类型应使用 NVARCHAR,Excel 需使用支持 Unicode 的字体 |
身份验证失败 | Windows 身份验证用 Integrated Security=True,SQL 身份验证需提供用户名与密码 |
通过 Spire.XLS for .NET,我们可以在 C# 中快速将数据库数据导出为 Excel,无需安装 Microsoft Office,且支持批量数据、格式设置和多种文件格式。 此方案可用于定时任务、后台服务或 Web 应用,实现数据的自动化导出与分发。
Q:如何在 C# 中将 SQL 数据导出到 Excel? A:使用 SqlConnection 读取数据到 DataTable,再调用 Spire.XLS 的 InsertDataTable() 方法即可。
Q:支持导出 SQLite 或 MySQL 数据吗? A:支持,只需更换数据库驱动与连接字符串。
Q:需要安装 Excel 吗? A:不需要,Spire.XLS 是独立的 Excel 处理库。
Q:能否将多个表导出到同一个 Excel 文件? A:可以,创建多个工作表并分别插入数据即可。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网将数据库数据导出为 Excel 文件,也因此成为实现报表生成、审计追踪、数据迁移和临时分析等需求时的一种高频操作。本文将介绍如何使用 Spire.XLS for .NET 通过 C# 将数据库记录高效导出到 Excel 文件。示例以 SQL Server 数据库为基础,但相同方法也适用于 SQLite、MySQL、Oracle 等其他关系型数据库,只需调整连接方式即可。
本教程主要为大家介绍DevExpress WinForms数据网格控件中数据过滤基础知识和过滤面板设置,欢迎下载最新版组件体验!
将多张PNG图像合并为一个PDF文件是文档处理中的常见需求。无论是存档、报告、作品集、演示文稿,还是将扫描页面转换为单个文件,如果没有合适的工具,这都可能非常耗时。本指南将介绍如何使用 C#、Java 和 Python 编程实现快速将 PNG 图像合并为 PDF。
本文将为大家介绍如何使用MyEclipse中的Web Fragment项目来模块化Web应用部署描述符,欢迎下载最新版体验!
Spire.XLS for .NET是专业.NET Excel组件,快速完成对Excel各类编程操作
Spire.XLS for WPFSpire.XLS for WPF是一款强大的专业Excel组件,让开发人员能够用他们的WPF应用操作Excel文件。
Spire.Office for .NET专业的.NET Office套件,涵盖office文档创建、编辑、转换、管理和OCR内容识别等操作
Aspose.Cells for .NET专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
IronXL直观的C#和VB.NET Excel API ,不需要安装MS Office或Excel In
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号