通过easypoi导出Excel
程序员文章站
2022-07-11 08:27:57
...
需求说明
之前说了用freemarker来导出word,这次来简单的说一下通过easypoi导出Excel。
具体实现
1.目标数据
如图:
2.引入easypoi依赖包
可以直接从maven仓库下载
<!-- 引入easypoi -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.0.3</version>
</dependency>
3.给需要导出的字段添加注解
这边只处理了3个字段
@Setter
@Getter
public class User {
private Integer id; // 用户id
@Excel(name = "账号", width=20)
private String userName; // 用户账号
@Excel(name = "昵称", width=20)
private String nickName; // 用户昵称
@Excel(name = "密码", width=20)
private String password; // 用户密码
private String salt; // 加密密码的盐
private Integer status; // 用户状态,0:创建未认证(比如没有**,没有输入验证码等) --等待验证的用户,1:正常状态,2:用户被锁定
private String age; // 用户年龄
private String sex; // 用户性别
private String mail; // 用户邮箱
private String photo; // 用户头像
}
注意:
@Excel中有不少属性,这边只用了到了name和width,默认情况下导出的宽度太挤了,所以调大了些。
如果想要了解更多的属性,可以参考EasyPoi教程:http://easypoi.mydoc.io/#text_197838
4.代码调用
/**
* Description: 通过easypoi导出Excel
*
* @param request
* @param response
*
*/
@RequestMapping(value = "/exportUserByExcel", method=RequestMethod.GET)
public void exportUserByExcel(HttpServletRequest request, HttpServletResponse response) {
List<User> users = userService.findByList();
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), User.class, users);
try {
String name = "用户数据.xls";
String fileName = new String(name.getBytes("UTF-8"), "ISO-8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
workbook.write(response.getOutputStream());
response.flushBuffer();
logger.info("用户数据导出成功");
} catch (IOException e) {
logger.error("用户数据导出失败,原因:", e);
} finally {
try {
response.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
5.调用结果
如图:
6.说明
虽然只是简单的尝试的用了一下,不过感觉还真是好用!
参考资料:
http://easypoi.mydoc.io/#text_197838
上一篇: socket
下一篇: react中的路由配置
推荐阅读
-
C#使用NPOI将List数据导出到Excel文档
-
java数据导出成Excel文件
-
利用phpexcel把excel导入数据库和数据库导出excel实现
-
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
-
使用python将大量数据导出到Excel中的小技巧分享
-
vue中导出Excel表格的实现代码
-
asp.net 利用NPOI导出Excel通用类的方法
-
建议收藏:.net core 使用EPPlus导入导出Excel详细案例,精心整理源码已更新至开源模板
-
fputcsv 导出excel,解决内存、性能、乱码、科学计数法问题
-
android通过jxl读excel存入sqlite3数据库