没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-08-18 16:57:24.280|阅读 89 次
概述:将数据库数据导出为 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@fc6vip.cn
文章转载自:慧都网本文主要介绍DevExpress WPF Grid控件如何将数据绑定虚拟数据源,欢迎下载最新版组件体验!
本教程主要为大家介绍DevExpress WinForms数据网格控件中的过滤器行功能,欢迎下载最新版组件体验!
本文主要介绍了Tool Call Confirmation API层和DevExpress Blazor AI Chat组件的相关可自定义接口,欢迎下载最新版体验!
本文主要介绍DevExpress WPF Grid控件如何将数据绑定到本地数据库,欢迎下载最新版组件体验!
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@fc6vip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢