没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-08-07 10:25:43.610|阅读 11 次
概述:在 C# 中将 DataTable 导出为 Excel 文件,是 .NET 开发中常见的任务,广泛应用于报表生成、日志导出、系统间数据共享等场景。本文将介绍如何使用 Spire.XLS for .NET 将 DataTable 导出为 Excel(.xlsx/.xls)文件,包含数据创建、导出保存、格式设置等实用步骤。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在 C# 中将 DataTable 导出为 Excel 文件,是 .NET 开发中常见的任务,广泛应用于报表生成、日志导出、系统间数据共享等场景。通过使用独立的组件库,开发者可以轻松将 DataTable 数据写入 Excel 文件,并应用格式设置,生成专业、可直接使用的文档,无需复杂配置或依赖第三方办公软件。
本文将介绍如何使用 Spire.XLS for .NET 将 DataTable 导出为 Excel(.xlsx/.xls)文件,包含数据创建、导出保存、格式设置等实用步骤。
欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升文档开发技能~
开始之前,请确保你的项目中已添加 Spire.XLS for .NET。
通过 NuGet 安装 Spire.XLS:
CopyInstall-Package Spire.XLS
Spire.XLS 支持 .NET Framework、.NET Core、.NET 6/7+ 以及 ASP.NET 项目,且无需安装 Microsoft Office。
下面的步骤将演示如何使用 Spire.XLS 将 DataTable 导出为 Excel 文件,包含数据准备、文件保存、网页流导出以及格式设置等内容。
先创建一个包含多列的 DataTable:
// 创建数据表 DataTable dt = new DataTable("员工信息"); // 添加列 dt.Columns.Add("员工编号", typeof(int)); dt.Columns.Add("姓名", typeof(string)); dt.Columns.Add("部门", typeof(string)); dt.Columns.Add("入职日期", typeof(DateTime)); dt.Columns.Add("工资", typeof(double)); dt.Columns.Add("是否全职", typeof(bool)); dt.Columns.Add("奖金系数", typeof(decimal)); // 添加数据行 dt.Rows.Add(1001, "张伟", "人事部", new DateTime(2021, 5, 10), 55000.5, true, 0.05m); dt.Rows.Add(1002, "李娜", "技术部", new DateTime(2020, 11, 23), 72000.0, false, 0.03m); dt.Rows.Add(1003, "王强", "财务部", new DateTime(2019, 8, 15), 63000.75, true, 0.07m); dt.Rows.Add(1004, "赵敏", "市场部", new DateTime(2022, 3, 8), 48800.0, true, 0.06m);
此处为演示用示例数据,实际使用中可绑定任意业务生成的 DataTable。
将 DataTable 导入到工作表中,并保存为 Excel 文件:
Workbook workbook = new Workbook(); workbook.Worksheets.Clear(); Worksheet sheet = workbook.Worksheets.Add(dt.TableName); // 从 A1 单元格开始插入数据表 sheet.InsertDataTable(dt, true, 1, 1); // 保存为 .xlsx 文件(推荐) workbook.SaveToFile("员工信息.xlsx", FileFormat.Version2016); // 保存为 .xls 文件(旧格式) workbook.SaveToFile("员工信息.xls", FileFormat.Version97to2003);
说明:
导出效果示意图:
在 Web 项目中,通常需要将 Excel 文件直接以下载流的方式返回:
MemoryStream stream = new MemoryStream(); workbook.SaveToStream(stream, FileFormat.Version2013); stream.Position = 0;将此 MemoryStream 返回到 ASP.NET 控制器中,即可触发浏览器下载。
若希望导出的 Excel 文件更具可读性和专业感,可以对内容进行格式化:
// 设置表头样式 CellRange header = sheet.Rows[0]; header.Style.Font.IsBold = true; header.Style.Font.FontName = "微软雅黑"; header.Style.Font.Size = 13; header.Style.Color = Color.LightGray; header.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thick; // 设置数据行样式 for (int i = 1; i < sheet.Rows.Length; i++) { CellRange dataRow = sheet.Rows[i]; dataRow.Style.Font.FontName = "黑体"; dataRow.Style.Font.Size = 11; dataRow.BorderInside(); } // 设置日期列的显示格式 CellRange dateColumn = sheet.Range[2, 4, sheet.Rows.Length + 1, 4]; dateColumn.Style.NumberFormat = "yyyy-mm-dd"; // 自动调整列宽 sheet.AllocatedRange.AutoFitColumns();
关键方法说明:
格式化效果示意图:
问题描述 | 解决方法 |
---|---|
文件无法打开或提示损坏 | 检查是否正确关闭流,且文件后缀与格式匹配 |
特殊字符或中文乱码 | 确保字符串为 UTF-8 编码,字体设置支持目标语言 |
列宽过窄导致显示不全 | 使用 AutoFitColumns() 自动调整,或手动设置 ColumnWidth |
借助 Spire.XLS,开发者可轻松地将 C# 中的 DataTable 导出为 Excel 文件,支持 .xls 和 .xlsx 两种格式,且无需依赖 Office 环境。无论是桌面应用还是 Web 系统,该方法都能快速生成格式良好的 Excel 报表。
使用 sheet.InsertDataTable() 将 DataTable 写入工作表,然后调用 workbook.SaveToFile() 保存文件。
可以,在 ASP.NET 控制器中生成工作簿,并以流的方式返回,实现下载功能。
.xlsx 是较新的格式,兼容 Excel 2007 及更高版本;.xls 为旧版格式(Excel 97-2003),行数限制为 65536 行。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网在 C# 中将 DataTable 导出为 Excel 文件,是 .NET 开发中常见的任务,广泛应用于报表生成、日志导出、系统间数据共享等场景。本文将介绍如何使用 Spire.XLS for .NET 将 DataTable 导出为 Excel(.xlsx/.xls)文件,包含数据创建、导出保存、格式设置等实用步骤。
本文主要介绍DevExpress WPF Grid控件中网格视图数据布局中的紧凑模式,欢迎下载最新版组件体验!
图像通常包含有价值的文本,但从JPG等格式中提取文本并非易事。本文将学习如何使用 Python 提取 JPG 文本。无论您是要自动化文档处理还是数字化印刷材料,此解决方案都能快速准确地为您提供结果。
Parasoft SOAtest 作为一款专业的服务级测试工具,不仅支持广泛的接口和 UI 测试能力,还能够与 Jenkins、Docker 等主流 CI 工具链无缝集成,帮助团队搭建稳定、高效、易于维护的测试自动化体系。
Spire.XLS for .NET是专业.NET Excel组件,快速完成对Excel各类编程操作
Spire.XLS for JavaSpire.XLS for Java让开发人员无需Microsoft Excel即可处理Excel
Aspose.Cells for .NET专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
Aspose.Cells专业的电子表格控件,无需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号