浏览代码

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 年前
父节点
当前提交
8a8bf7d393

+ 6
- 9
src/java/org/apache/poi/hssf/eventusermodel/MissingRecordAwareHSSFListener.java 查看文件

@@ -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;


+ 18
- 0
src/testcases/org/apache/poi/hssf/eventusermodel/TestMissingRecordAwareHSSFListener.java 查看文件

@@ -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);
}
}

二进制
test-data/spreadsheet/53588.xls 查看文件


正在加载...
取消
保存