public WorkbookWriter addRow(@NonNull Iterable<? extends Object> fields) {
    Row row;
    if (sheet.getLastRowNum() == 0 && sheet.getPhysicalNumberOfRows() == 0)
      row = sheet.createRow(0);
    else
      row = sheet.createRow(sheet.getLastRowNum() + 1);

    int i = 0;
    for (Object o : fields) {
      Cell cell = row.createCell(i);
      if (o != null) {
        if (o instanceof Boolean)
          cell.setCellValue((Boolean) o);
        else if (o instanceof Calendar)
          cell.setCellValue((Calendar) o);
        else if (o instanceof Date)
          cell.setCellValue((Date) o);
        else if (o instanceof Double)
          cell.setCellValue((Double) o);
        else if (o instanceof RichTextString)
          if ((o instanceof HSSFRichTextString
              && workbook instanceof HSSFWorkbook)
              || (o instanceof XSSFRichTextString
                  && workbook instanceof XSSFWorkbook)) {
            cell.setCellValue((RichTextString) o);
          } else {
            cell.setCellValue(o.toString());
          }
        else if (o instanceof Hyperlink)
          cell.setHyperlink((Hyperlink) o);
        else if (o instanceof Number)
          cell.setCellValue(((Number) o).doubleValue());
        else
          cell.setCellValue(o.toString());
      }
      i++;
    }
    return this;
  }
public WorkbookWriter addRow ( @ NonNull Iterable < ? extends Object > fields ) { Row row ; if ( sheet . getLastRowNum ( ) == 0 && sheet . getPhysicalNumberOfRows ( ) == 0 ) row = sheet . createRow ( 0 ) ; else row = sheet . createRow ( sheet . getLastRowNum ( ) + 1 ) ; int i = 0 ; for ( Object o : fields ) { Cell cell = row . createCell ( i ) ; if ( o != null ) { if ( o instanceof Boolean ) cell . setCellValue ( ( Boolean ) o ) ; else if ( o instanceof Calendar ) cell . setCellValue ( ( Calendar ) o ) ; else if ( o instanceof Date ) cell . setCellValue ( ( Date ) o ) ; else if ( o instanceof Double ) cell . setCellValue ( ( Double ) o ) ; else if ( o instanceof RichTextString ) if ( ( o instanceof HSSFRichTextString && workbook instanceof HSSFWorkbook ) || ( o instanceof XSSFRichTextString && workbook instanceof XSSFWorkbook ) ) { cell . setCellValue ( ( RichTextString ) o ) ; } else { cell . setCellValue ( o . toString ( ) ) ; } else if ( o instanceof Hyperlink ) cell . setHyperlink ( ( Hyperlink ) o ) ; else if ( o instanceof Number ) cell . setCellValue ( ( ( Number ) o ) . doubleValue ( ) ) ; else cell . setCellValue ( o . toString ( ) ) ; } i ++ ; } return this ; }
Adds a row to the sheet.

@param fields
an Iterable of Object
@return this {@link WorkbookWriter}