code: 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;
    }
docs: Adds a row to the sheet.
  
  @param fields
  an Iterable of Object
  @return this {@link WorkbookWriter}