code: public static void renderRow(XWPFTable table, int row, RowRenderData rowData) {
          if (null == rowData || rowData.size() <= 0) return;
          XWPFTableRow tableRow = table.getRow(row);
          ObjectUtils.requireNonNull(tableRow, "Row " + row + " do not exist in the table");
  
          TableStyle style = rowData.getStyle();
          List<TextRenderData> cellList = rowData.getRowData();
          XWPFTableCell cell = null;
  
          for (int i = 0; i < cellList.size(); i++) {
              cell = tableRow.getCell(i);
              if (null == cell) {
                  logger.warn("Extra cell data at row {}, but no extra cell: col {}", row, cell);
                  break;
              }
  
              // 处理单元格样式
              if (null != style && null != style.getBackgroundColor()) {
                  cell.setColor(style.getBackgroundColor());
              }
  
              TextRenderData cellData = cellList.get(i);
              String cellText = cellData.getText();
              if (StringUtils.isBlank(cellText)) continue;
  
              String[] fragment = cellText.split(TextRenderPolicy.REGEX_LINE_CHARACTOR);
              if (null == fragment) continue;
  
              // 处理单元格数据
              XWPFParagraph par;
              XWPFRun run;
              for (int j = 0; j < fragment.length; j++) {
                  if (0 == j) {
                      CTTc ctTc = cell.getCTTc();
                      CTP ctP = (ctTc.sizeOfPArray() == 0) ? ctTc.addNewP() : ctTc.getPArray(0);
                      par = new XWPFParagraph(ctP, cell);
                  } else {
                      par = cell.addParagraph();
                  }
                  StyleUtils.styleTableParagraph(par, style);
                  run = par.createRun();
                  StyleUtils.styleRun(run, cellData.getStyle());
                  run.setText(fragment[j]);
              }
          }
      }
docs: 填充表格一行的数据
  
  @param table
  @param row
  第几行
  @param rowData
  行数据：确保行数据的大小不超过表格该行的单元格数量