java,导出excel,控制数据垂直还是水平遍历

​​java导出excel,使用easyExcel,按指定格式导出,按模板导出,自定义表头导出​​ 这里的前提是,你用的easyExcel,就算你没有用,也可以试试,很简单。

有用的话记得免费的关注,点赞,收藏三联一下

java,导出excel,控制数据垂直还是水平遍历,使用easyExcel_excel

public void exportExcelByEasy(HttpServletResponse response, List<?> importlist) throws IOException {
//1,找出模板文件,并转化为输入流:templateFileInputStream;
InputStream templateFileInputStream = this.getClass().getClassLoader().getResourceAsStream("com/exceltemplate/testttt.xlsx");
//2,outputStream:要导出的文件的输出流;
OutputStream outputStream = response.getOutputStream();
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(outputStream).withTemplate(templateFileInputStream);
ExcelWriter excelWriter = excelWriterBuilder.build();
//设置列表横向还是纵向-----默认是纵向,HORIZONTAL就是水平填充
FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build();
try {
WriteSheet writeSheet = EasyExcel.writerSheet().build();
//3,往sheet表中填充数据:
excelWriter.fill(new FillWrapper("data1", importlist), writeSheet);
excelWriter.fill(new FillWrapper("data2", importlist), fillConfig, writeSheet);
//4,设置输出流格式以及文件名:
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + "test" + ".xlsx");
} finally {
//5,最后,千万别忘记finish,关闭IO流;
if (excelWriter != null) {
excelWriter.finish();
}
}
}

其实关键的地方在这,你就这么一配置就好了,

java,导出excel,控制数据垂直还是水平遍历,使用easyExcel_导出excel_02


为什么excel里面要加data1和data2?其实就是为了区分不同的数据集合。

当然相同的数据集也可以自己取不同的前缀,起码自己看起来清楚点,不写也没事。

java,导出excel,控制数据垂直还是水平遍历,使用easyExcel_导出excel_03