导出数据在exlcel上
1、前台写一个按钮跳到控制层
<a href="account.do?flag=out" >导出表格</a>
2、控制层导出数据方法
@RequestMapping(value = "account.do",params = "flag=out")
//String视图解析器
public void out(HttpServletResponse response,HttpSession session,HttpServletRequest request)
throws ServletException, IOException{
// 获取相对路径
String filepath = request.getServletContext().getRealPath("/")+"\\include\\template\\scoreInfo.xls";
File file = new File(filepath);
FileInputStream fileIn = new FileInputStream(file);
HSSFWorkbook workBook = new HSSFWorkbook(fileIn);
HSSFRow row = null;
HSSFCell cell = null;
// 第一个sheet页
HSSFSheet sheet = workBook.getSheetAt(0);
// 起始行
int startRow = 4;
row = sheet.getRow(2);
//填写制作人 第2个格
cell = row.getCell((short) 1);
session = request.getSession();
if(session.getAttribute("realName")!=null) {
cell.setCellValue((String)session.getAttribute("realName"));
}else {
cell.setCellValue("");
}
// 填写日期
HSSFRow row2 = null;
HSSFCell cell2 = null;
row2 = sheet.getRow(2);
// 第6个格
cell2 = row2.getCell((short) 5);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(new Date());
cell2.setCellValue(date);
// excel表格需要写入的信息
List<Account> list = accountMapper.sellectAll();
for (int i = 0; i < list.size(); i++) {
row = sheet.getRow(startRow+i);
// NO从1开始
cell = row.getCell((short) 0);
cell.setCellValue(i+1);
// 账号名 Accname
cell = row.getCell((short) 1);
cell.setCellValue(list.get(i).getAccname());
// 姓名 Accrealname
cell = row.getCell((short) 2);
cell.setCellValue(list.get(i).getAccrealname());
// 电话 Accphone
cell = row.getCell((short) 3);
cell.setCellValue(list.get(i).getAccphone());
// 生日Accbirthday
cell = row.getCell((short) 4);
cell.setCellValue(list.get(i).getAccbirthday());
// 角色
cell = row.getCell((short) 5);
cell.setCellValue(list.get(i).getRole().getRolename());
// 状态
cell = row.getCell((short) 6);
cell.setCellValue(list.get(i).getStatus().getStatusname());
}
OutputStream out = response.getOutputStream();
response.resetBuffer();
response.addHeader("Pragma", "no-cache");
response.setHeader("Content-Disposition", "attachment;filename="
+ URLEncoder.encode("scoreInfo", "UTF-8") + ".xls");
try {
workBook.write(out);
} finally {
fileIn.close();
out.close();
response.flushBuffer();
workBook.close();
}
}
3、数据需要导入的Excel表格模板
注意日期:右键设置单元格格式 日期格式
4、先运行一下程序会报找不到文件路径异常
按照报错的地址建立文件夹以及把表格放入
5、再运行一下程序就好了
导出数据在exlcel上的更多相关文章
- MySQL 导出数据
MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 cnbl ...
- 吴裕雄 31-MySQL 导出数据
MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. show global variables like '%secure%';SHOW VARIABL ...
- 三十二、MySQL 导出数据
MySQL 导出数据 MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 导出数据
MySQL中可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中将数据表 runoob_ ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- Dynamics CRM导出数据到Excel
原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...
- java 导出数据为word文档(保持模板格式)
导出数据到具体的word文档里面,word有一定的格式,需要保持不变 这里使用freemarker来实现: ①:设计好word文档格式,需要用数据填充的地方用便于识别的长字符串替换 如 aaaaa ...
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
- SQL Server2000导出数据时包含主键、字段默认值、描述等信息
时经常用SQL Server2000自带的导出数据向导将数据从一台数据库服务器导出到另一台数据库服务器: 结果数据导出了,但表的主键.字段默认值.描述等信息却未能导出,一直没想出什么方法,今天又尝试了 ...
随机推荐
- 移动通信-5G
1.移动通信的发展历程: "G"代表一代,每10年一个周期 1G 2G 3G 4G 5G 1980s 1990s 2000s 2010s 2020s 语音 短信 社交应用 在线.互 ...
- 仅用CSS几步实现赛博朋克2077风格视觉效果
背景 文章开始之前先简单了解下什么是 赛博朋克,以及什么是 赛博朋克2077. 赛博朋克(Cyberpunk)是"控制论.神经机械学"与"朋克"的结合词,背景大 ...
- Handler_read_*的总结
在分析一个SQL的性能好坏时,除了执行计划,另外一个常看的指标是"Handler_read_*"相关变量. Handler_read_key Handler_read_first ...
- WebRTC 传输安全机制第二话:深入显出 SRTP 协议
通过 DTLS 协商后,RTC 通信的双方完成 MasterKey 和 MasterSalt 的协商.接下来,我们继续分析在 WebRTC 中,如何使用交换的密钥,来对 RTP 和 RTCP 进行加密 ...
- 11:(1055, "'bbs02.app01_category.name' isn't in GROUP BY")
后台报错:[err] 1055 -- 'xxx' isn't in GROUP BY 解决方案: 初步判断是数据库(版本?配置?)的问题 进入mysql 的my.ini配置文件 ctrl+f 搜索找 ...
- Git 高级用法,喜欢就拿去用
如果你觉得 git 很迷惑人,那么这份小抄正是为你准备的! 请注意我有意跳过了 git commit.git pull/push 之类的基本命令,这份小抄的主题是 git 的一些「高级」用法. 导航 ...
- 树的计数(prufer序列 或 purfer序列)
题解 首先我们要知道一条性质,prufer序列中的某个点出现次数为该点在树中度数-1 感性理解一下,其实按照prufer序列求法自己推一下就出来了 设题目里给的度为$d[]$ 先将所有的d-- 然后按 ...
- 性能工具之Jmeter压测Hprose RPC服务
概述 Hprose(High Performance Remote Object Service Engine),国人开发的一个远程方法调用的开源框架.它是一个先进的轻量级的跨语言跨平台面向对象的高性 ...
- 【进阶之路】深入理解Java虚拟机的类加载机制(长文)
我们在参加面试的时候,经常被问到一些关于类加载机制的问题,也都会在面试之前准备的时候背好答案,但是我们是否有去深入了解什么是类加载机制呢?这段时间因为一些事情在家看了些书,这次就和大家分享一些关于Ja ...
- go语言结构体内存对齐
cpu要想从内存读取数据,需要通过地址总线,把地址传输给内存,内存准备好数据,输出到数据总线,交给cpu,如果地址总线只有8根,那这个地址就只有8位可以表示[0,255]256个地址,因为表示不了更多 ...