code: public void writeToExcel(List<? extends Object> datas, boolean hasTitle,
                               OutputStream outputStream, int inMemory,
                               boolean transverse) throws IOException {
          log.info("准备将数据写入excel");
          //这里使用SXSSFWorkbook而不是XSSFWorkbook，这样将会节省内存，但是内存中仅仅存在inMemory行数据，如果超出那么会将
          //index最小的刷新到本地，后续不能通过getRow方法获取到该行
          SXSSFWorkbook wb = new SXSSFWorkbook(inMemory);
          writeToExcel(datas, hasTitle, wb, transverse);
          log.info("数据写入excel完毕，准备写入本地文件");
          wb.write(outputStream);
          log.debug("删除临时文件，关闭Workbook");
          wb.dispose();
          wb.close();
      }
docs: 将数据写入excel
  
  @param datas        要写入excel的pojo数据
  @param hasTitle     是否需要标题
  @param outputStream 输出流（该流不会关闭，需要用户手动关闭）
  @param inMemory     最多保留在内存中多少行
  @param transverse 是否横向写入（一列对应一个pojo，标题在第一列），默认false（一行一个pojo，标题在第一行）
  @throws IOException IO异常