EasyPOI 导入导出数据库行转列
Maven
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.0</version>
</dependency>
简单的导出, 可通过数据库sql 查询表头信息 for循环添加表头
@RequestMapping("/test")
public void outExcel(HttpServletResponse response) throws IOException {
//excel 导出
ArrayList<ExcelExportEntity> temp = new ArrayList<>();
ArrayList<Map> list = new ArrayList<>();
HashMap<String, Object> map ;
//定义头信息
temp.add(new ExcelExportEntity("账号","username",30));
temp.add(new ExcelExportEntity("密码","password",30));
//输入内容 根据key 去渲染数据
for (int i = 0; i < 50; i++) {
map = new HashMap<>();
map.put("username","username"+i);
map.put("password","password"+i);
list.add(map);
}
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(),temp,list);
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("账号密码.xlsx", "UTF-8"));
workbook.write(response.getOutputStream());
}