Search in sources :

Example 1 with FeatFormulaErr2

use of org.apache.poi.hssf.record.common.FeatFormulaErr2 in project poi by apache.

the class TestFeatRecord method testReadFeatRecord.

public void testReadFeatRecord() throws Exception {
    HSSFWorkbook hssf = HSSFTestDataSamples.openSampleWorkbook("46136-NoWarnings.xls");
    InternalWorkbook wb = HSSFTestHelper.getWorkbookForTest(hssf);
    FeatRecord fr = null;
    FeatHdrRecord fhr = null;
    assertEquals(1, hssf.getNumberOfSheets());
    // First check it isn't on the Workbook
    int countFR = 0;
    int countFRH = 0;
    for (Record r : wb.getRecords()) {
        if (r instanceof FeatRecord) {
            fr = (FeatRecord) r;
            countFR++;
        } else if (r.getSid() == FeatRecord.sid) {
            fail("FeatRecord SID found but not created correctly!");
        }
        if (r instanceof FeatHdrRecord) {
            countFRH++;
        } else if (r.getSid() == FeatHdrRecord.sid) {
            fail("FeatHdrRecord SID found but not created correctly!");
        }
    }
    assertEquals(0, countFR);
    assertEquals(0, countFRH);
    // Now find it on our sheet
    HSSFSheet s = hssf.getSheetAt(0);
    InternalSheet sheet = HSSFTestHelper.getSheetForTest(s);
    for (RecordBase rb : sheet.getRecords()) {
        if (rb instanceof Record) {
            Record r = (Record) rb;
            if (r instanceof FeatRecord) {
                fr = (FeatRecord) r;
                countFR++;
            } else if (r.getSid() == FeatRecord.sid) {
                countFR++;
            }
            if (r instanceof FeatHdrRecord) {
                fhr = (FeatHdrRecord) r;
                countFRH++;
            } else if (r.getSid() == FeatHdrRecord.sid) {
                countFRH++;
            }
        }
    }
    assertEquals(1, countFR);
    assertEquals(1, countFRH);
    assertNotNull(fr);
    assertNotNull(fhr);
    // Now check the contents are as expected
    assertEquals(FeatHdrRecord.SHAREDFEATURES_ISFFEC2, fr.getIsf_sharedFeatureType());
    // Applies to one cell only
    assertEquals(1, fr.getCellRefs().length);
    assertEquals(0, fr.getCellRefs()[0].getFirstRow());
    assertEquals(0, fr.getCellRefs()[0].getLastRow());
    assertEquals(0, fr.getCellRefs()[0].getFirstColumn());
    assertEquals(0, fr.getCellRefs()[0].getLastColumn());
    // More checking of shared features stuff
    assertEquals(4, fr.getCbFeatData());
    assertEquals(4, fr.getSharedFeature().getDataSize());
    assertEquals(FeatFormulaErr2.class, fr.getSharedFeature().getClass());
    FeatFormulaErr2 fferr2 = (FeatFormulaErr2) fr.getSharedFeature();
    assertEquals(0x04, fferr2._getRawErrorCheckValue());
    assertFalse(fferr2.getCheckCalculationErrors());
    assertFalse(fferr2.getCheckDateTimeFormats());
    assertFalse(fferr2.getCheckEmptyCellRef());
    assertFalse(fferr2.getCheckInconsistentFormulas());
    assertFalse(fferr2.getCheckInconsistentRanges());
    assertTrue(fferr2.getCheckNumbersAsText());
    assertFalse(fferr2.getCheckUnprotectedFormulas());
    assertFalse(fferr2.getPerformDataValidation());
}
Also used : InternalSheet(org.apache.poi.hssf.model.InternalSheet) HSSFSheet(org.apache.poi.hssf.usermodel.HSSFSheet) FeatFormulaErr2(org.apache.poi.hssf.record.common.FeatFormulaErr2) HSSFWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook) InternalWorkbook(org.apache.poi.hssf.model.InternalWorkbook)

Aggregations

InternalSheet (org.apache.poi.hssf.model.InternalSheet)1 InternalWorkbook (org.apache.poi.hssf.model.InternalWorkbook)1 FeatFormulaErr2 (org.apache.poi.hssf.record.common.FeatFormulaErr2)1 HSSFSheet (org.apache.poi.hssf.usermodel.HSSFSheet)1 HSSFWorkbook (org.apache.poi.hssf.usermodel.HSSFWorkbook)1