2019独角兽企业重金招聘Python工程师标准>>>

思路 :

  1. 将需要导出的数据存放在一个List中
  2. 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版本,XSSFWorkbook 只能操作2003一下的版本,所以需要的时候可以使用 Workbook创建对象处理兼容性
  3. 遍历List 并将每条数据 写入 EXCEL表中

具体代码如下 :

html 页面

<button onClick="download()">导出</button>

js 页面

function download() {$.messager.confirm('确认', '确认把该搜索结果导出Excel表格 ?', function(r) {if (r) {$.messager.progress({title : '处理中',msg : '请稍后',});$.messager.progress('close');$.ajax({url : 'download.html',//后台方法名字type : 'POST',data : {  //传入后台的参数,从页面获取},success : function(data) {//加载成功后的操作}});}});
}

后台代码

Model类 Student

public class Student {private String name;private int age;private String address;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}}

处理逻辑,实现功能的类中代码

@RequestMapping(value = "/download.html", method = RequestMethod.POST)public void download(HttpServletRequest request,HttpServletResponse response) {// TODO Auto-generated method stubList<Student> list = new ArrayList<Student>();//Student是被导出数据的类型,一般是自己写的Model类XSSFWorkbook excelbook = new XSSFWorkbook(); //创建workBookXSSFSheet excelSheet = excelbook.createSheet();//创建sheet表XSSFRow excelRow = excelSheet.createRow(0);//创建行XSSFCellStyle headerStyle = excelbook.createCellStyle();//设置 居中headerStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);//接下来是创建 列标题 ,cell的起始值是 0,可创建n个列标题  XSSFCell cell = excelRow.createCell(0);cell.setCellStyle(headerStyle);//居中cell.setCellValue("列标题 ");//接下来遍历List,并写入EXCEL中for(int i = 0; i < list.size(); i++){//创建行,行号应从1开始,因为表头行(列标题)占据了第0行excelRow = excelSheet.createRow(i + 1); Student t = list.get(i); // List 的起始值是0//将该行每一列的数据写入,可写n列cell = excelRow.createCell(0);cell.setCellValue(t.getName());}try {String filePath = "EXCEL表格导出路径.xls";writeExcel(response, excelbook, filePath, "文件名");//具体导出的方法} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

具体实现导出EXCEL的方法

//具体导出的方法private static void writeExcel(HttpServletResponse response, Workbook work,String filePath, String fileName) throws IOException {OutputStream outputStream = new FileOutputStream(filePath);try {response.setContentType("application/ms-excel;charset=UTF-8");response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(URLEncoder.encode(fileName + ".xls","UTF-8"))));work.write(outputStream);} catch (IOException e) {System.out.println("输出流错误");e.printStackTrace();} finally {outputStream.close();}}

转载于:https://my.oschina.net/worriedfox/blog/1540565

Java springMVC POI 导出 EXCEL相关推荐

  1. java利用poi导出excel功能-附带图片导出

    java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表.于是就折腾了一下这个功能,研究出来 ...

  2. java中poi导出Excel表格(前台流文件接收)

    java中poi导出Excel表格,前端以流的方式接收,而非直接生成文件再下载,解决多台服务器部署后,路径地址不统一导致的下载问题. 生成Excel示例图: 2.代码说明 ① 在上次的基础上增加了底部 ...

  3. Java操作poi导出Excel自定义字体颜色

    Java操作poi导出Excel自定义字体颜色 功能介绍 POI操作Excel 第一步创建一个导出的工具类 整体定义表格字体样式 自定义表格字体样式 总结 功能介绍 Apache POI 是用Java ...

  4. Java和poi导出excel报表

    一:poi jar下载地址:点击打开链接: 二:工程截图: 三:运行效果截图: 四:源代码: Student.java: package com.poi.bean;import java.util.D ...

  5. Java使用POi导出Excel(包含图片)

    Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能, ...

  6. java mvc 导出excel_Java springMVC POI 导出 EXCEL

    思路 : 将需要导出的数据存放在一个List中 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版本,XSSFWorkbook 只能操作2003一下的版本,所以需要的时候可 ...

  7. java 使用poi导出excel,可控制固定前2列固定标头排版,带统计数据格式的

    使用poi导出排版漂亮的excel文件 html代码: <button class="btn btn-link" ng-model="exportExcel&quo ...

  8. poi导出excel 损坏_急!!!java用poi导出excel文件,打开导出的文件时报错“文件错误,数据可能丢失”...

    展开全部 两个原因: 1.你的excel模版本身有问题,可以尝试新建一个模版. 2.你的excel使用了一e68a8462616964757a686964616f31333365643662些POI不 ...

  9. java通过poi导出excel和pdf

    [背景] 由于各户的需求,所以需要增加导出excel这个功能,其实大部分系统都需要这个导出功能的,所以这里也就不详细说明具体导出的背景了O(∩_∩)O~ 干完导出excel将现有的导出pdf也进行了独 ...

最新文章

  1. 链接产业 聚变未来 | 移动云区块链开发者论坛来了
  2. 【视频课】图像分割最新内容来了(言有三新录制4部分实例分割算法详解)
  3. 【深度学习】在PyTorch中使用 LSTM 自动编码器进行时间序列异常检测
  4. 22张令人叹为观止的照片,你所未知的另一面
  5. 如何成为一名出色的次世代游戏美术师?
  6. 在矩池云中如何使用TensorBoard?
  7. 时序分析基本概念介绍——时钟sdc
  8. FlashDevelop专用swc导出插件
  9. 是谁逼着我们996,逼着企业996
  10. VBA实例6 CorelDraw 批量生成设备位号、连续编号
  11. 区间贪心:最小区间覆盖问题、PIPI的高速公路
  12. Python+Opencv识别视频统计人数
  13. python 单词纠错_自然语言处理1——语言处理与Python(内含纠错)
  14. Autosar Nm机制
  15. 「为了孩子上海淀小学,我一周上七节课」
  16. Java 秒换算成,天,小时,分钟,秒
  17. PyQt5最全26 绘图之drawPoint用像素点绘制正弦曲线
  18. Grayscale一周增持9503个BTC,机构投资者“抢购”有望继续推高价格
  19. Struts2+Datagrid表格显示(可显示多表内容)
  20. STL教程(十): 关联容器--unordered_map/unordered_multimap

热门文章

  1. 【Ubuntu】在Ubuntu中设置永久的DNS
  2. linux数据库什么意思,Linux系统中的数据库命令是什么
  3. python name_python中__name__的使用
  4. python selenium unittest_python+selenium+unittest——ui自动化的轻量级选择
  5. php改7z,PHP的7z扩展名? - php
  6. 小程序判断屏幕是长屏还是短屏手机,iPhone X 类型还是 iPhone 6类型
  7. 卡片右上角三角形效果,按钮点击变色
  8. UIView Animation
  9. 牛客网练习赛44-B(快速幂+模拟)
  10. ORA-08002: sequence MySeq.currval is not yet defined in this session