java mvc 导出excel_Java springMVC POI 导出 EXCEL
思路 :
将需要导出的数据存放在一个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相关推荐
- java去除多余excel_java使用poi删除excel中的空行
根据自己实际操作,poi中lastRowNum方法获取行数的是excel最后有数据的一行,从0开始 而physicalNumberOfRows方法获取的行数是excel最后有数据的一行减去最后一行之前 ...
- cpu java poi 导出_java基于poi导出excel透视表代码实例
这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...
- java自动生成生成java透视表_java基于poi导出excel透视表代码实例
这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...
- java 动态导入excel_java实现导入导出excel数据
项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...
- iText导出pdf,poi导出excel并下载到客户端
项目中需要做导出功能,要支持excel,pdf导出. excel导出我选择使用poi:pdf导出我选择使用iText,在此单独做记录. 先说说在设计与开发中的问题,从整体上把握设计思路. 思路(一) ...
- java利用poi读取excel_java利用POI 读取EXCEL
/* * 使用POI读取EXCEL文件 */ import java.io.File; import java.io.FileInputStream; import java.util.ArrayLi ...
- java利用poi读取excel_java利用POI读取excel文件的方法
摘要:利用java读取excel文件,读取文件并获取文件中每一个sheet中的值. 一.需要提前导入的包: import java.io.File; import java.io.FileInputS ...
- java实现在线预览----poi操作excel转html及03、07版本兼容问题
poi操作excel转html及其兼容问题 excel03是读取文件整个内容转为字符串存进html,excel07是读取文件内容拼成字符串存进html /*** excel03转html* filen ...
- Java springMVC POI 导出 EXCEL
2019独角兽企业重金招聘Python工程师标准>>> 思路 : 将需要导出的数据存放在一个List中 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版 ...
最新文章
- 使用Helm 在容器服务k8s集群一键部署wordpress
- 如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)(转)...
- python科学计算三剑客_《Python数据分析三剑客:Pandas、Numpy、Matplotlib》专题
- 申请英国学校最晚什么时候考出雅思呢?
- c++对象的动态建立和释放
- 产品解读 | 敏捷版数据库场景 一站式快速构建企业全场景数据库管理平台
- 线性代数矩阵论——矩阵的基本运算——加、减、取负、乘、数乘、转置
- configure: error: no termcap library found
- Java入门算法(滑动窗口篇)丨蓄力计划
- php linux 缓存文件,Linux下搭建网站提示缓存文件写入失败怎么办?
- dedecms代码研究三
- 深度学习《CNN架构续篇 - 正则化》
- 玩转文字!汉字海报的布局排版形式成功案例,给你灵感!
- PS2020制作电子签名
- selenium爬取裁判文书网
- 把时间当作朋友 读书笔记
- 1072 开学寄语(20 分)
- 华为麒麟9000性能提升幅度大,但恐难成安卓一哥
- 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
- Platform Builder
热门文章
- RabbitMQ开机启动 Centos7环境
- Beetl 模板引擎学习
- Java-分析类初始化
- galaxy s8 android pc,手机秒变PC!三星Galaxy S8桌面模式曝光
- vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件
- 求两个已排序单链表中相同的数据(C语言)
- 安装教程rtx2080ti_点云深度学习环境配置指南(一)Ubuntu16.04+RTX2080ti
- c# 溢出抛异常_Rust竟然没有异常处理?
- mac系统在云服务器地址,mac如何登陆云服务器地址
- java中strictfp么意思_什么时候应该在java中使用“strictfp”关键字?