思路 :

将需要导出的数据存放在一个List中

创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版本,XSSFWorkbook 只能操作2003一下的版本,所以需要的时候可以使用 Workbook创建对象处理兼容性

遍历List 并将每条数据 写入 EXCEL表中

具体代码如下 :

html 页面

导出

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 stub

List list = new ArrayList();//Student是被导出数据的类型,一般是自己写的Model类

XSSFWorkbook excelbook = new XSSFWorkbook(); //创建workBook

XSSFSheet 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 block

e.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();

}

}

java mvc 导出excel_Java springMVC POI 导出 EXCEL相关推荐

  1. java去除多余excel_java使用poi删除excel中的空行

    根据自己实际操作,poi中lastRowNum方法获取行数的是excel最后有数据的一行,从0开始 而physicalNumberOfRows方法获取的行数是excel最后有数据的一行减去最后一行之前 ...

  2. cpu java poi 导出_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  3. java自动生成生成java透视表_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  4. java 动态导入excel_java实现导入导出excel数据

    项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...

  5. iText导出pdf,poi导出excel并下载到客户端

    项目中需要做导出功能,要支持excel,pdf导出. excel导出我选择使用poi:pdf导出我选择使用iText,在此单独做记录. 先说说在设计与开发中的问题,从整体上把握设计思路. 思路(一) ...

  6. java利用poi读取excel_java利用POI 读取EXCEL

    /* * 使用POI读取EXCEL文件 */ import java.io.File; import java.io.FileInputStream; import java.util.ArrayLi ...

  7. java利用poi读取excel_java利用POI读取excel文件的方法

    摘要:利用java读取excel文件,读取文件并获取文件中每一个sheet中的值. 一.需要提前导入的包: import java.io.File; import java.io.FileInputS ...

  8. java实现在线预览----poi操作excel转html及03、07版本兼容问题

    poi操作excel转html及其兼容问题 excel03是读取文件整个内容转为字符串存进html,excel07是读取文件内容拼成字符串存进html /*** excel03转html* filen ...

  9. Java springMVC POI 导出 EXCEL

    2019独角兽企业重金招聘Python工程师标准>>> 思路 : 将需要导出的数据存放在一个List中 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版 ...

最新文章

  1. 使用Helm 在容器服务k8s集群一键部署wordpress
  2. 如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)(转)...
  3. python科学计算三剑客_《Python数据分析三剑客:Pandas、Numpy、Matplotlib》专题
  4. 申请英国学校最晚什么时候考出雅思呢?
  5. c++对象的动态建立和释放
  6. 产品解读 | 敏捷版数据库场景 一站式快速构建企业全场景数据库管理平台
  7. 线性代数矩阵论——矩阵的基本运算——加、减、取负、乘、数乘、转置
  8. configure: error: no termcap library found
  9. Java入门算法(滑动窗口篇)丨蓄力计划
  10. php linux 缓存文件,Linux下搭建网站提示缓存文件写入失败怎么办?
  11. dedecms代码研究三
  12. 深度学习《CNN架构续篇 - 正则化》
  13. 玩转文字!汉字海报的布局排版形式成功案例,给你灵感!
  14. PS2020制作电子签名
  15. selenium爬取裁判文书网
  16. 把时间当作朋友 读书笔记
  17. 1072 开学寄语(20 分)
  18. 华为麒麟9000性能提升幅度大,但恐难成安卓一哥
  19. 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
  20. Platform Builder

热门文章

  1. RabbitMQ开机启动 Centos7环境
  2. Beetl 模板引擎学习
  3. Java-分析类初始化
  4. galaxy s8 android pc,手机秒变PC!三星Galaxy S8桌面模式曝光
  5. vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件
  6. 求两个已排序单链表中相同的数据(C语言)
  7. 安装教程rtx2080ti_点云深度学习环境配置指南(一)Ubuntu16.04+RTX2080ti
  8. c# 溢出抛异常_Rust竟然没有异常处理?
  9. mac系统在云服务器地址,mac如何登陆云服务器地址
  10. java中strictfp么意思_什么时候应该在java中使用“strictfp”关键字?