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上的更多相关文章

  1. MySQL 导出数据

    MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 cnbl ...

  2. 吴裕雄 31-MySQL 导出数据

    MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. show global variables like '%secure%';SHOW VARIABL ...

  3. 三十二、MySQL 导出数据

    MySQL 导出数据 MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中 ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL 导出数据

    MySQL中可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中将数据表 runoob_ ...

  5. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  6. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

  7. java 导出数据为word文档(保持模板格式)

    导出数据到具体的word文档里面,word有一定的格式,需要保持不变 这里使用freemarker来实现: ①:设计好word文档格式,需要用数据填充的地方用便于识别的长字符串替换  如  aaaaa ...

  8. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  9. SQL Server2000导出数据时包含主键、字段默认值、描述等信息

    时经常用SQL Server2000自带的导出数据向导将数据从一台数据库服务器导出到另一台数据库服务器: 结果数据导出了,但表的主键.字段默认值.描述等信息却未能导出,一直没想出什么方法,今天又尝试了 ...

随机推荐

  1. centos 7 显示系统执行的进程

    命令:ps -aux ps -aux | more USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 1911 ...

  2. 关于MySQL索引面试题的六连炮!招架的住吗?

    1.面试真题 MySQ索引的原理和数据结构能介绍一下吗? b+树和b-树有什么区别? MySQL聚簇索引和非聚簇索引的区别是什么? 他们分别是如何存储的? 使用MySQL索引都有哪些原则? MySQL ...

  3. 解析 Nebula Graph 子图设计及实践

    本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow 看大厂图数据库技术实践. 前言 在先前的 Query Engine 源码解析中,我们介绍了 2.0 ...

  4. 海康威视ISC平台的VUE二次开发接入实现

    第一步 取得ISC平台的appkey以及secret,以及安装ISC平台的主机IP,这一步至关重要!!! 第二步 由于目前我所在的公司项目前端的代码均由vue所实现,所以利用vue-cli创建一个最简 ...

  5. Kubernetes ConfigMap详解,多种方式创建、多种方式使用

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 配置是程序绕不开的话题,在Kubernetes中使用ConfigMap来配置,它本质其实就是键值对.本文讲解如何 ...

  6. Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答

    本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富- 对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服 ...

  7. 3.QT屏幕分辨率适配

    需求:qt的窗口.组件.字体需要适配屏幕分辨率. 思路:qt是根据显示器的物理长度或者宽度于分辨率的关系来计算dpi 实现: #if(QT_VERSION >= QT_VERSION_CHECK ...

  8. Cable TV Network 顶点连通度 (最大流算法)

    Cable TV Network 题目抽象:给出含有n个点顶点的无向图,给出m条边.求定点联通度   K 算法:将每个顶点v拆成 v'   v''  ,v'-->v''的容量为1.       ...

  9. Python自动化之封装日志模块(一)

    ------------恢复内容开始------------ 简介: 自己也在训练营学习之中,闲来之余,自己写着玩的,主要还是为了学习,希望和前辈和大佬相互学习共进. 日志模块主要有四大组件:日志器, ...

  10. Spring:Spring-AOP简介

    什么是SpringAOP? 将一些相关的编程方法,独立提取出来,独立实现,然后动态地将代码切入到类的指定方法.指定位置上的编程方式就是AOP(面向切面编程). 讲解一下AOP中的相关概念 Aspect ...