首先poi导出需要导入jar包,这里在pom.xml里面导入依赖
下载依赖的地址可以参考https://mvnrepository.com/tags/spring,输入poi 以及poi-ooxml,找一个使用量最高的即可,我这里用的版本是3.1.7
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
下载完之后就可以开始我们的真正代码了!
首先做些准备工作,创建user类
package com.bw.entity;
public class User {
private Integer uid;
private String uname;
private String pwd;
private Integer age;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User [uid=" + uid + ", uname=" + uname + ", pwd=" + pwd + ", age=" + age + "]";
}
}
在前台页面发送请求
<a href="/download">导出</a>
在控制层接收参数
@RequestMapping("download")
public void download(HttpServletResponse response) throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook();// 创建Excel文件(Workbook)
HSSFSheet sheet = workbook.createSheet("年度总结");// 创建工作表(Sheet)
List<User> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User u = new User();
//这里就随意田加了
u.setAge(i * i);
u.setUid(1 + i);
u.setUname(i + "haha");
list.add(u);
}
HSSFRow row = sheet.createRow(0);// 创建行,从0开始
HSSFCell cell = row.createCell(1);// 创建行的单元格,也是从0开始
cell.setCellValue("id");// 设置单元格内容
HSSFCell cell1 = row.createCell(2);// 创建行的单元格,也是从0开始
cell1.setCellValue("uname");// 设置单元格内容
HSSFCell cell2 = row.createCell(3);// 创建行的单元格,也是从0开始
cell2.setCellValue("age");// 设置单元格内容
for (int i = 0; i < list.size(); i++) {
HSSFRow row1 = sheet.createRow(i + 1);
row1.createCell(1).setCellValue(list.get(i).getUid());
row1.createCell(2).setCellValue(list.get(i).getUname());
row1.createCell(3).setCellValue(list.get(i).getAge());
}
//将excel文件存入指定文件夹
FileOutputStream out = new FileOutputStream("D:\\images\\abc.xls");
workbook.write(out);// 保存Excel文件
System.out.println("成功");
}
效果如下图:
这样一个简单的poi导出就做成了,我也是第一次做,哪里做的不好,请各位看官多多包涵