/** Retreives the text contents of the file */ public String getText() { StringBuffer text = new StringBuffer(); for (int i = 0; i < workbook.getNumberOfSheets(); i++) { XSSFSheet sheet = workbook.getSheetAt(i); if (includeSheetNames) { text.append(workbook.getSheetName(i)).append("\n"); } // Header(s), if present if (includeHeadersFooters) { text.append(extractHeaderFooter(sheet.getFirstHeader())); text.append(extractHeaderFooter(sheet.getOddHeader())); text.append(extractHeaderFooter(sheet.getEvenHeader())); } // Rows and cells for (Object rawR : sheet) { Row row = (Row) rawR; for (Iterator<Cell> ri = row.cellIterator(); ri.hasNext(); ) { Cell cell = ri.next(); // Is it a formula one? if (cell.getCellType() == Cell.CELL_TYPE_FORMULA && formulasNotResults) { text.append(cell.getCellFormula()); } else if (cell.getCellType() == Cell.CELL_TYPE_STRING) { text.append(cell.getRichStringCellValue().getString()); } else { XSSFCell xc = (XSSFCell) cell; text.append(xc.getRawValue()); } // Output the comment, if requested and exists Comment comment = cell.getCellComment(); if (includeCellComments && comment != null) { // Replace any newlines with spaces, otherwise it // breaks the output String commentText = comment.getString().getString().replace('\n', ' '); text.append(" Comment by ") .append(comment.getAuthor()) .append(": ") .append(commentText); } if (ri.hasNext()) text.append("\t"); } text.append("\n"); } // Finally footer(s), if present if (includeHeadersFooters) { text.append(extractHeaderFooter(sheet.getFirstFooter())); text.append(extractHeaderFooter(sheet.getOddFooter())); text.append(extractHeaderFooter(sheet.getEvenFooter())); } } return text.toString(); }
/** * Return a formula for the cell, for example, <code>SUM(C4:E4)</code> * * @return a formula for the cell * @throws IllegalStateException if the cell type returned by {@link #getCellType()} is not * CELL_TYPE_FORMULA */ public String getCellFormula() { int cellType = getCellType(); if (cellType != CELL_TYPE_FORMULA) throw typeMismatch(CELL_TYPE_FORMULA, cellType, false); CTCellFormula f = _cell.getF(); if (isPartOfArrayFormulaGroup() && f == null) { XSSFCell cell = getSheet().getFirstCellInArrayFormula(this); return cell.getCellFormula(); } if (f.getT() == STCellFormulaType.SHARED) { return convertSharedFormula((int) f.getSi()); } return f.getStringValue(); }