code: private void writePerData(T data) throws WriteExcelException {
          if (this.needInitSheet()) {
              this.initSheet();
          }
          //将data转换成Map数据结构
          Map<String, Object> mapBean = null;
          if (data instanceof Map) {
              mapBean = (Map<String, Object>) data;
          } else {
              mapBean = CommonUtils.toMap(data);
          }
          Row rowTemp = null;
          if (!this.isBlankLastRow || (this.isBlankLastRow && !this.isSkipBlankRow)) {
              //下移一行
              this.currentRowInSheet++;
              rowTemp = this.currentSheet.createRow(this.currentRowInSheet);
              if (this.defaultHeight > 0) {
                  rowTemp.setHeightInPoints(this.defaultHeight);
              }
          } else {
              //上一行是空行,并且配置了需要跳过空行,即不需要写入空行
              rowTemp = this.lastRow;
          }
          boolean isBlankRow = !this.writePerRow(rowTemp, mapBean, data);
          if (!isBlankRow) {
              //非空行
              this.realRowInExcel++;
              this.isBlankLastRow = false;
          } else if (this.isSkipBlankRow) {
              //是空行并且不需要写入空行
              this.isBlankLastRow = true;
              this.lastRow = rowTemp;
          }
      }
docs: 写入指定数据
  
  @param data 指定被写入的数据