使用NPOI将数据库里信息导出Excel表格并提示用户下载

简介:

使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的

简单的代码如下

复制代码
复制代码
 1         //mvc项目可以传多个id以逗号相隔的字符串
 2         public ActionResult execl(string ids)
 3         {
 4             List<PayLog> list = new List<PayLog>();//准备需要灌入excel的数据,paylog可替换你自己的数据类,这里因为是源代码所以没改
 5             string[] idsstring = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);//拆字符串
 6             for (int j = 0; j < idsstring.Length; j++)//查找需要灌入的数据放入list里,asp.net这里为从dal层拿到的数据同样放入list
 7             {
 8                 string str = idsstring[j];
 9                 list.Add(DbSession.PayLogRepository.Fetch(x => x.FInvoiceId == str));//该写法为mvc写法,链接数据库读取数据对象
10             }
11             HSSFWorkbook work = new HSSFWorkbook();//创建excel文件对象
12             HSSFSheet sheet = work.CreateSheet();//创建excel里的页,括号中可以写你想要该页的名字,默认sheet
13             HSSFRow row = sheet.CreateRow(0);//创建当前页的第一行
14             row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue("流水号");//创建页面上第一行的第一列的数据
15             row.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue("编码");
16             //循环对象集合创建数据列
17             for (int i = 0; i < list.Count; i++)
18             {
19                 HSSFRow rows = sheet.CreateRow(i + 1);//创建第二行
20                 rows.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FPayInNo);//创建第二行第一列
21                 rows.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FEnterpriseId);
22             }
23             string path = @"F:\信息.xls";//项目中应该改为相对路径而不是绝对路径 //因不知道用户的excel版本所以生成文件后缀为.xls,因为2003版的excel后缀名为.xls,2007版后均为.xlsx
24             using (FileStream file = new FileStream(path, FileMode.Create))//创建文件流,将灌好数据的excel文件写入服务器的硬盘
25             {
26                 work.Write(file);
27             }
28             return File(new FileStream(path, FileMode.Open), "application/ms-excel", "信息.xls");//提示用户下载服务器上的文件
复制代码
复制代码

结果如图

 本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/6268712.html,如需转载请自行联系原作者

相关文章
|
1月前
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
113 3
Jasypt加密数据库配置信息
|
2月前
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!
|
4月前
|
数据库 数据安全/隐私保护
【YashanDB知识库】exp 导出数据库时,报错YAS-00402
【YashanDB知识库】exp 导出数据库时,报错YAS-00402
【YashanDB知识库】exp 导出数据库时,报错YAS-00402
|
5月前
|
关系型数据库 数据库连接 数据库
循序渐进丨MogDB 中 gs_dump 数据库导出工具源码概览
通过这种循序渐进的方式,您可以深入理解 `gs_dump` 的实现,并根据需要进行定制和优化。这不仅有助于提升数据库管理的效率,还能为数据迁移和备份提供可靠的保障。
139 6
|
5月前
|
数据库 数据安全/隐私保护
【YashanDB 知识库】exp 导出数据库时,报错 YAS-00402
**简介:** 在执行数据导出命令 `exp --csv -f csv -u sales -p sales -T area -O sales` 时,出现 YAS-00402 错误,提示“Connection refused”。原因是数据库安装时定义的 IP 地址或未正确配置导致连接失败。解决方法是添加 `--server-host ip:port` 参数,例如 `exp --csv -f csv -u sales -p sales -T area -O sales --server-host 192.168.33.167:1688`。
|
7月前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
302 8
|
8月前
|
数据格式 UED
记录一次NPOI库导出Excel遇到的小问题解决方案
【11月更文挑战第16天】本文记录了使用 NPOI 库导出 Excel 过程中遇到的三个主要问题及其解决方案:单元格数据格式错误、日期格式不正确以及合并单元格边框缺失。通过自定义单元格样式、设置数据格式和手动添加边框,有效解决了这些问题,提升了导出文件的质量和用户体验。
634 3
|
8月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
3880 2
|
9月前
|
数据采集 人工智能 自然语言处理
表格增强生成TAG登场:解锁AI自然语言与数据库的完美结合
【10月更文挑战第4天】表格增强生成(TAG)范式解锁了AI自然语言处理与数据库的深度融合,旨在让用户通过自然语言便捷地查询和管理数据。TAG结合了语言模型的强大推理能力和数据库系统的高效计算能力,通过查询合成、执行及答案生成三步完成复杂查询。相较于传统Text2SQL和RAG方法,TAG在准确性上显著提升,但其应用仍面临技术门槛和数据质量等挑战。[论文地址:](https://arxiv.org/pdf/2408.14717)
208 4
|
9月前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
61 1