final Attribute reference = _cell.getAttributeByName( XMLConstants.Main.CELL_REFERENCE );
final Attribute dataType = _cell.getAttributeByName( XMLConstants.Main.CELL_TYPE );
final Attribute styleIndex = _cell.getAttributeByName( XMLConstants.Main.CELL_STYLE );
final BaseSheet sheet = _row.getSheet();
final CellIndex upperLeftCellIndex = new CellIndex( sheet.getSpreadsheet(), sheet.getSheetIndex(), 0, 0 );
final CellIndex cellIndex = CellRefParser.A1.parseCellA1( reference.getValue(), upperLeftCellIndex );
String formula = null;
String formulaIndex = null;
String value = null;
final int cellContext = getContext();
StartElement se;
while ((se = findAny( cellContext )) != null) {
final QName name = se.getName();
if (name.equals( XMLConstants.Main.CELL_FORMULA )) {
final Attribute formulaType = se.getAttributeByName( XMLConstants.Main.CELL_FORMULA_TYPE );
if (formulaType != null && "shared".equals( formulaType.getValue() ))
formulaIndex = se.getAttributeByName( XMLConstants.Main.CELL_FORMULA_SHARED_INDEX ).getValue();
formula = getText();
}
else if (name.equals( XMLConstants.Main.CELL_VALUE )) {
value = getText();
}
}
if (formula == null && formulaIndex == null && value == null)
return;
final int columnIndex = cellIndex.getColumnIndex();
while (columnIndex != _row.getCellList().size())
_row.getCellList().add( null );
if (formula != null) {
final CellWithLazilyParsedExpression exprCell = new CellWithLazilyParsedExpression(