mirror of https://github.com/apache/poi.git
fixed bug 53588
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1382339 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
14eb4e44f6
commit
8a8bf7d393
|
@ -20,15 +20,7 @@ package org.apache.poi.hssf.eventusermodel;
|
|||
import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord;
|
||||
import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord;
|
||||
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
|
||||
|
@ -72,6 +64,11 @@ public final class MissingRecordAwareHSSFListener implements HSSFListener {
|
|||
thisRow = valueRec.getRow();
|
||||
thisColumn = valueRec.getColumn();
|
||||
} else {
|
||||
if (record instanceof StringRecord){
|
||||
//it contains only cashed result of the previous FormulaRecord evaluation
|
||||
childListener.processRecord(record);
|
||||
return;
|
||||
}
|
||||
thisRow = -1;
|
||||
thisColumn = -1;
|
||||
|
||||
|
|
|
@ -461,4 +461,22 @@ public final class TestMissingRecordAwareHSSFListener extends TestCase {
|
|||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue