1.引入jar包
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.2.0</version>
</dependency>
2.开发前台页面
window.location.href="${pageContext.request.contextPath}/user/export";
3.开发实体类
@Excel(name = "用户编号")
private String id;
@Excel(name = "用户账号")
private String username;
@Excel(name = "用户电话")
private String mobile;
4.开发接口
@RequestMapping("export")
public void export(HttpServletRequest request, HttpServletResponse response){
// 从数据库中查询所有的用户
List<User> users = userService.exportAll();
// 定义文件名
String filenName = "用户报表(" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ").xls";
// 处理下载中文乱码
try {
filenName = new String(filenName.getBytes("gbk"),"ISO-8859-1");
// 设置相应类型
response.setContentType("application/vnd.ms-excel");
// 设置相应头,attachment:以附件的形式进行下载
response.setHeader("content-disposition","attachment;filename="+filenName);
// 使用easyPOI的生成workbook的方法
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("用户详细信息表","用户信息"), User.class, users);
// 用流的方式将workbook写到页面
workbook.write(response.getOutputStream());
// 关闭workbook
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
5.导出效果
如果想学习更多有关easyPOI的相关知识,另外有对应关系的导出或者有图片的导出,大家可以自行去easyPOI的官网进行学习