欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用easyExcel将同一个对象、不同对象写入不同sheet

程序员文章站 2022-06-02 15:41:50
...
	  // 方法1 如果写到同一个sheet
      String fileName =  "D:\" + System.currentTimeMillis() + ".xlsx";
      // 这里 需要指定写用哪个class去写
      ExcelWriter excelWriter = EasyExcel.write(fileName, Date.class).build();
      // 这里注意 如果同一个sheet只要创建一次
      WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
      for (int i = 0; i < 2; i++) {
          List<Date> data = data();
          excelWriter.write(data, writeSheet);
      }
      // 千万别忘记finish 会帮忙关闭流
      excelWriter.finish();

      // 方法2 如果写到不同的sheet 同一个对象
      fileName = "D:\" + System.currentTimeMillis() + ".xlsx";
      // 这里 指定文件
      excelWriter = EasyExcel.write(fileName, Data.class).build();
      // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面
      for (int i = 0; i < 2; i++) {
          // 每次都要创建writeSheet 这里注意必须指定sheetNo
          writeSheet = EasyExcel.writerSheet(i, "模板_"+i).build();
          List<Data> data = data();
          excelWriter.write(data, writeSheet);
      }
      // 千万别忘记finish 会帮忙关闭流
      excelWriter.finish();

      // 方法3 如果写到不同的sheet 不同的对象
      fileName = "D:\" + System.currentTimeMillis() + ".xlsx";
      // 这里 指定文件
      excelWriter = EasyExcel.write(fileName).build();
      writeSheet = EasyExcel.writerSheet(1, "模板_1").head(Data1.class).build();
        // 分页去数据库查询数据 这里可以去数据库查询每一页的数据
       List<Data1> data = data();
       excelWriter.write(data, writeSheet);
        writeSheet = EasyExcel.writerSheet(2, "模板_2").head(Data2.class).build();
        // 分页去数据库查询数据 这里可以去数据库查询每一页的数据
       List<Data2> data2 = data();
       excelWriter.write(data2, writeSheet);
      // 千万别忘记finish 会帮忙关闭流
      excelWriter.finish();
相关标签: Java基础