code: @SuppressWarnings("unchecked")
      private void writeRows(Cell templateCell, List<Object> items) {
          val tmplRow = templateCell.getRow();
          val fromRow = tmplRow.getRowNum();
  
          val tmplCol = templateCell.getColumnIndex();
          for (int i = 0, ii = items.size(); i < ii; ++i) {
              val item = items.get(i);
              val row = i == 0 ? tmplRow : sheet.createRow(fromRow + i);
              if (row != tmplRow) {
                  row.setHeight(tmplRow.getHeight());
              }
  
              val fields = item.getClass().getDeclaredFields();
              int cutoff = 0;
              for (int j = 0; j < fields.length; ++j) {
                  val field = fields[j];
                  if (Fields.shouldIgnored(field, ExcelColIgnore.class)) {
                      ++cutoff;
                      continue;
                  }
                  if (field.getName().endsWith("Tmpl")) {
                      ++cutoff;
                      continue;
                  }
  
                  val fv = Fields.invokeField(field, item);
                  val excelCell = field.getAnnotation(ExcelCell.class);
                  int maxLen = excelCell == null ? 0 : excelCell.maxLineLen();
                  val cell = newCell(tmplRow, tmplCol + j - cutoff, i, row, fv, maxLen);
                  applyTemplateCellStyle(field, item, excelCell, cell);
              }
  
              emptyEndsCells(tmplRow, tmplCol, i, row, fields.length);
          }
      }
docs: 根据JavaBean列表，向Excel中写入多行。
  
  @param templateCell 模板单元格。
  @param items        写入JavaBean列表。