Browse Source

fixed bug 53588

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1382339 13f79535-47bb-0310-9956-ffa450edef68
tags/3.10-beta1
Evgeniy Berlog 11 years ago
parent
commit
8a8bf7d393

+ 6
- 9
src/java/org/apache/poi/hssf/eventusermodel/MissingRecordAwareHSSFListener.java View File

import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord; import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord;
import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord; import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord;
import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingRowDummyRecord; import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingRowDummyRecord;
import org.apache.poi.hssf.record.BOFRecord;
import org.apache.poi.hssf.record.CellValueRecordInterface;
import org.apache.poi.hssf.record.MulBlankRecord;
import org.apache.poi.hssf.record.MulRKRecord;
import org.apache.poi.hssf.record.NoteRecord;
import org.apache.poi.hssf.record.Record;
import org.apache.poi.hssf.record.RecordFactory;
import org.apache.poi.hssf.record.RowRecord;
import org.apache.poi.hssf.record.SharedFormulaRecord;
import org.apache.poi.hssf.record.*;


/** /**
* <p>A HSSFListener which tracks rows and columns, and will * <p>A HSSFListener which tracks rows and columns, and will
thisRow = valueRec.getRow(); thisRow = valueRec.getRow();
thisColumn = valueRec.getColumn(); thisColumn = valueRec.getColumn();
} else { } else {
if (record instanceof StringRecord){
//it contains only cashed result of the previous FormulaRecord evaluation
childListener.processRecord(record);
return;
}
thisRow = -1; thisRow = -1;
thisColumn = -1; thisColumn = -1;



+ 18
- 0
src/testcases/org/apache/poi/hssf/eventusermodel/TestMissingRecordAwareHSSFListener.java View File

} }
assertEquals(2, eorCount); assertEquals(2, eorCount);
} }

public void testStringRecordHandling(){
readRecords("53588.xls");
Record[] rr = r;
int missingCount=0;
int lastCount=0;
for (int i = 0; i < rr.length; i++) {
Record record = rr[i];
if (record instanceof MissingCellDummyRecord) {
missingCount++;
}
if (record instanceof LastCellOfRowDummyRecord) {
lastCount++;
}
}
assertEquals(1, missingCount);
assertEquals(1, lastCount);
}
} }

BIN
test-data/spreadsheet/53588.xls View File


Loading…
Cancel
Save