@Override
public boolean nextKeyValue() throws IOException {
	if (!(this.getOfficeReader().getFiltered())) {
		return false;
	}
	Object[] objectArray = this.getOfficeReader().getNext();
	if (objectArray==null) {
		return false; // no more to read
	}
	SpreadSheetCellDAO[] cellRows = (SpreadSheetCellDAO[])objectArray;
	this.currentKey.set("["+this.split.getPath().getName()+"]"+this.getOfficeReader().getCurrentSheetName()+"!A"+this.getOfficeReader().getCurrentRow());
	this.currentValue.set(cellRows);
	return true;	
}
@ Override public boolean nextKeyValue ( ) throws IOException { if ( ! ( this . getOfficeReader ( ) . getFiltered ( ) ) ) { return false ; } Object [ ] objectArray = this . getOfficeReader ( ) . getNext ( ) ; if ( objectArray == null ) { return false ; } SpreadSheetCellDAO [ ] cellRows = ( SpreadSheetCellDAO [ ] ) objectArray ; this . currentKey . set ( "[" + this . split . getPath ( ) . getName ( ) + "]" + this . getOfficeReader ( ) . getCurrentSheetName ( ) + "!A" + this . getOfficeReader ( ) . getCurrentRow ( ) ) ; this . currentValue . set ( cellRows ) ; return true ; }
Read row from Office document. If document does not match a defined metadata filter then it returns no rows. If no metadata filter is defined or document matches metadata filter then it returns rows, if available in the document/selected sheet

@return true if next more rows are available, false if not