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

本文详细介绍了使用EasyExcel库在Java中批量写入Excel数据的三种方法:同一sheet写入、不同sheet同一对象写入以及不同sheet不同对象写入。通过示例代码展示了如何创建和操作WriteSheet,以及如何根据数据库分页数据写入多个sheet。
摘要由CSDN通过智能技术生成
	  // 方法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();
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot是一个基于Spring框架的快速开发框架,它可以帮助开发者快速搭建基于Spring的Web应用程序。而EasyExcel是一个基于Java的Excel操作工具,它可以帮助开发者快速读写Excel文件。在Spring Boot中使用EasyExcel可以方便地将数据写入Excel文件,并且可以写入多个sheet页。 具体实现步骤如下: 1. 在pom.xml文件中添加EasyExcel的依赖。 2. 创建实体类,用于存储要写入Excel文件的数据。 3. 使用EasyExcel.write创建ExcelWriter对象,并指定文件名和Java对象类型。 4. 使用sheet方法指定sheet页名称。 5. 调用ExcelWriter的write方法将数据写入Excel文件。 下面是一个示例代码,演示如何使用EasyExcel在Spring Boot中写入多个sheet页的数据: ``` // 定义实体类 public class User { private String name; private int age; // 省略getter和setter方法 } // 在Controller中定义写入Excel文件的方法 @GetMapping("/export") public void export(HttpServletResponse response) throws IOException { // 设置响应头 response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-disposition", "attachment;filename=user.xlsx"); // 创建ExcelWriter对象 OutputStream out = response.getOutputStream(); ExcelWriter writer = EasyExcel.write(out, User.class).build(); // 写入第一个sheet页 List<User> userList1 = new ArrayList<>(); userList1.add(new User("张三", 20)); userList1.add(new User("李四", 25)); writer.write(userList1, EasyExcel.writerSheet(0, "Sheet1").build()); // 写入第二个sheet页 List<User> userList2 = new ArrayList<>(); userList2.add(new User("王五", 30)); userList2.add(new User("赵六", 35)); writer.write(userList2, EasyExcel.writerSheet(1, "Sheet2").build()); // 关闭ExcelWriter对象 writer.finish(); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值