首页 > 编程语言 >java,导出excel,控制数据垂直还是水平遍历,使用easyExcel

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

时间:2023-01-17 19:08:17浏览次数:49  
标签:outputStream java 导出 easyExcel excel writeSheet excelWriter response


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

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

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

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

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_java_03


标签:outputStream,java,导出,easyExcel,excel,writeSheet,excelWriter,response
From: https://blog.51cto.com/u_15601494/6017702

相关文章

  • java:日期工具类,是否是闰年,获取当前日期的前后一天,月,年,获得日期的年月日时分秒,string与
    java:日期工具类,获取当前日期的前后一天,月,年,获得日期的年月日时分秒,string与date之间转换。这里写目录标题​​java:日期工具类,获取当前日期的前后一天,月,年,获得日期的年月日时......
  • 提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。
    提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。码云地址:​​​https://gitee.com/guyuanman/holiday​​业务场景:好多公司的业务在处理的时候,会面......
  • java:日期转型将“2023-03-14 00:00:00“转为年月日
    java:日期转型将"2023-03-1400:00:00"转为年月日old="2023-03-1400:00:00"Datedate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").parse(old);old=newSimpleDateForm......
  • excel的快捷键操作
    本章介绍excel中部分常用的快捷键1.文件类工作簿操作:Ctrl + N 新建;Ctrl + w 关闭当前;Ctrl + S 保存 F12 当前另存为  Ctrl + p 打印当前 2.通用......
  • 06.Java方法
    Java方法何谓方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计......
  • java虚拟机日志跟踪相关设置
     GC详细日志简要分析:2023-01-17T14:16:23.810+0800:10233.942:[GC(AllocationFailure)2023-01-17T14:16:23.810+0800:10233.942:[DefNew:70396K->439K(78720K......
  • 还在用 Excel 和 SQL?火山引擎 VeDI 这款产品帮你更快处理数据
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群对大多数职场打工人来说,看数据、用数据一直是项有“门槛”的工作。特别是在企业业务快速发展的......
  • Java并发编程
    1.并发与并行?并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。并发(concurrency):指在同一时刻只能有......
  • java学习笔记
    键盘输入接收用户输入的数据,使用键盘输入语句来获取。Input.java,需要一个扫描器(对象)Scannerimportjava.util.Scanner;publicclassInput{publicstaticvoidm......
  • JavaWeb开发中在服务器常用命令集锦
    基本的lsmvmidir就不说了。一.后端部署1.1启动jar包#默认会将所有日志存放到一个当前目录中新建的nohup.out文件中nohupjava-jar-Duser.timezone=GMT+8ap......