code: private void generateSheet(SheetTemplate template, int sheetIndex,
                                 Map<String, List<?>> data, Map<String, String> extendMap,
                                 Class clazz, boolean isWriteHeader)
              throws Excel4JException {
  
          SheetTemplateHandler.loadTemplate(template, sheetIndex);
          SheetTemplateHandler.extendData(template, extendMap);
          List<ExcelHeader> headers = Utils.getHeaderList(clazz);
          if (isWriteHeader) {
              // 写标题
              SheetTemplateHandler.createNewRow(template);
              for (ExcelHeader header : headers) {
                  SheetTemplateHandler.createCell(template, header.getTitle(), null);
              }
          }
          for (Map.Entry<String, List<?>> entry : data.entrySet()) {
              for (Object object : entry.getValue()) {
                  SheetTemplateHandler.createNewRow(template);
                  SheetTemplateHandler.insertSerial(template, entry.getKey());
                  for (ExcelHeader header : headers) {
                      SheetTemplateHandler.createCell(template,
                              Utils.getProperty(object, header.getFiled(), header.getWriteConverter()),
                              entry.getKey()
                      );
                  }
              }
          }
      }
docs: sheet生成