Search in sources :

Example 1 with Record

use of org.apache.poi.hssf.record.Record in project poi by apache.

the class BiffViewer method createRecords.

/**
     *  Create an array of records from an input stream
     *
     * @param is the InputStream from which the records will be obtained
     * @param ps the PrintWriter to output the record data
     * @param recListener the record listener to notify about read records
     * @param dumpInterpretedRecords if {@code true}, the read records will be written to the PrintWriter
     *
     * @return an array of Records created from the InputStream
     * @exception  org.apache.poi.util.RecordFormatException  on error processing the InputStream
     */
public static Record[] createRecords(InputStream is, PrintWriter ps, BiffRecordListener recListener, boolean dumpInterpretedRecords) throws org.apache.poi.util.RecordFormatException {
    List<Record> temp = new ArrayList<Record>();
    RecordInputStream recStream = new RecordInputStream(is);
    while (true) {
        boolean hasNext;
        try {
            hasNext = recStream.hasNextRecord();
        } catch (LeftoverDataException e) {
            logger.log(POILogger.ERROR, "Discarding " + recStream.remaining() + " bytes and continuing", e);
            recStream.readRemainder();
            hasNext = recStream.hasNextRecord();
        }
        if (!hasNext) {
            break;
        }
        recStream.nextRecord();
        if (recStream.getSid() == 0) {
            continue;
        }
        Record record;
        if (dumpInterpretedRecords) {
            record = createRecord(recStream);
            if (record.getSid() == ContinueRecord.sid) {
                continue;
            }
            temp.add(record);
            for (String header : recListener.getRecentHeaders()) {
                ps.println(header);
            }
            ps.print(record);
        } else {
            recStream.readRemainder();
        }
        ps.println();
    }
    Record[] result = new Record[temp.size()];
    temp.toArray(result);
    return result;
}
Also used : LeftoverDataException(org.apache.poi.hssf.record.RecordInputStream.LeftoverDataException) ArrayList(java.util.ArrayList) WindowProtectRecord(org.apache.poi.hssf.record.WindowProtectRecord) DrawingSelectionRecord(org.apache.poi.hssf.record.DrawingSelectionRecord) GutsRecord(org.apache.poi.hssf.record.GutsRecord) MergeCellsRecord(org.apache.poi.hssf.record.MergeCellsRecord) PasswordRev4Record(org.apache.poi.hssf.record.PasswordRev4Record) ArrayRecord(org.apache.poi.hssf.record.ArrayRecord) DefaultColWidthRecord(org.apache.poi.hssf.record.DefaultColWidthRecord) DateWindow1904Record(org.apache.poi.hssf.record.DateWindow1904Record) FormatRecord(org.apache.poi.hssf.record.FormatRecord) FooterRecord(org.apache.poi.hssf.record.FooterRecord) DatRecord(org.apache.poi.hssf.record.chart.DatRecord) ContinueRecord(org.apache.poi.hssf.record.ContinueRecord) SCLRecord(org.apache.poi.hssf.record.SCLRecord) ChartRecord(org.apache.poi.hssf.record.chart.ChartRecord) PageItemRecord(org.apache.poi.hssf.record.pivottable.PageItemRecord) TableStylesRecord(org.apache.poi.hssf.record.TableStylesRecord) BookBoolRecord(org.apache.poi.hssf.record.BookBoolRecord) LegendRecord(org.apache.poi.hssf.record.chart.LegendRecord) StyleRecord(org.apache.poi.hssf.record.StyleRecord) AreaRecord(org.apache.poi.hssf.record.chart.AreaRecord) RecalcIdRecord(org.apache.poi.hssf.record.RecalcIdRecord) SeriesTextRecord(org.apache.poi.hssf.record.chart.SeriesTextRecord) HideObjRecord(org.apache.poi.hssf.record.HideObjRecord) DefaultDataLabelTextPropertiesRecord(org.apache.poi.hssf.record.chart.DefaultDataLabelTextPropertiesRecord) PrintSetupRecord(org.apache.poi.hssf.record.PrintSetupRecord) Record(org.apache.poi.hssf.record.Record) HyperlinkRecord(org.apache.poi.hssf.record.HyperlinkRecord) PrintHeadersRecord(org.apache.poi.hssf.record.PrintHeadersRecord) MMSRecord(org.apache.poi.hssf.record.MMSRecord) PrecisionRecord(org.apache.poi.hssf.record.PrecisionRecord) DBCellRecord(org.apache.poi.hssf.record.DBCellRecord) BeginRecord(org.apache.poi.hssf.record.chart.BeginRecord) TopMarginRecord(org.apache.poi.hssf.record.TopMarginRecord) RowRecord(org.apache.poi.hssf.record.RowRecord) FnGroupCountRecord(org.apache.poi.hssf.record.FnGroupCountRecord) HorizontalPageBreakRecord(org.apache.poi.hssf.record.HorizontalPageBreakRecord) EndRecord(org.apache.poi.hssf.record.chart.EndRecord) CalcCountRecord(org.apache.poi.hssf.record.CalcCountRecord) WindowTwoRecord(org.apache.poi.hssf.record.WindowTwoRecord) PlotGrowthRecord(org.apache.poi.hssf.record.chart.PlotGrowthRecord) UnitsRecord(org.apache.poi.hssf.record.chart.UnitsRecord) ObjectLinkRecord(org.apache.poi.hssf.record.chart.ObjectLinkRecord) HeaderRecord(org.apache.poi.hssf.record.HeaderRecord) CodepageRecord(org.apache.poi.hssf.record.CodepageRecord) IterationRecord(org.apache.poi.hssf.record.IterationRecord) SeriesRecord(org.apache.poi.hssf.record.chart.SeriesRecord) ExtendedPivotTableViewFieldsRecord(org.apache.poi.hssf.record.pivottable.ExtendedPivotTableViewFieldsRecord) FeatHdrRecord(org.apache.poi.hssf.record.FeatHdrRecord) LabelSSTRecord(org.apache.poi.hssf.record.LabelSSTRecord) RKRecord(org.apache.poi.hssf.record.RKRecord) CatLabRecord(org.apache.poi.hssf.record.chart.CatLabRecord) MulRKRecord(org.apache.poi.hssf.record.MulRKRecord) ChartEndBlockRecord(org.apache.poi.hssf.record.chart.ChartEndBlockRecord) BOFRecord(org.apache.poi.hssf.record.BOFRecord) FilePassRecord(org.apache.poi.hssf.record.FilePassRecord) FontRecord(org.apache.poi.hssf.record.FontRecord) ViewSourceRecord(org.apache.poi.hssf.record.pivottable.ViewSourceRecord) DataFormatRecord(org.apache.poi.hssf.record.chart.DataFormatRecord) PaneRecord(org.apache.poi.hssf.record.PaneRecord) InterfaceEndRecord(org.apache.poi.hssf.record.InterfaceEndRecord) NumberRecord(org.apache.poi.hssf.record.NumberRecord) FontBasisRecord(org.apache.poi.hssf.record.chart.FontBasisRecord) ChartStartBlockRecord(org.apache.poi.hssf.record.chart.ChartStartBlockRecord) PasswordRecord(org.apache.poi.hssf.record.PasswordRecord) SeriesIndexRecord(org.apache.poi.hssf.record.chart.SeriesIndexRecord) DConRefRecord(org.apache.poi.hssf.record.DConRefRecord) PaletteRecord(org.apache.poi.hssf.record.PaletteRecord) ExtSSTRecord(org.apache.poi.hssf.record.ExtSSTRecord) SheetPropertiesRecord(org.apache.poi.hssf.record.chart.SheetPropertiesRecord) WSBoolRecord(org.apache.poi.hssf.record.WSBoolRecord) BottomMarginRecord(org.apache.poi.hssf.record.BottomMarginRecord) RightMarginRecord(org.apache.poi.hssf.record.RightMarginRecord) TableRecord(org.apache.poi.hssf.record.TableRecord) StreamIDRecord(org.apache.poi.hssf.record.pivottable.StreamIDRecord) CFHeader12Record(org.apache.poi.hssf.record.CFHeader12Record) BlankRecord(org.apache.poi.hssf.record.BlankRecord) AutoFilterInfoRecord(org.apache.poi.hssf.record.AutoFilterInfoRecord) DVRecord(org.apache.poi.hssf.record.DVRecord) RefreshAllRecord(org.apache.poi.hssf.record.RefreshAllRecord) LeftMarginRecord(org.apache.poi.hssf.record.LeftMarginRecord) StringRecord(org.apache.poi.hssf.record.StringRecord) CFRuleRecord(org.apache.poi.hssf.record.CFRuleRecord) UnknownRecord(org.apache.poi.hssf.record.UnknownRecord) VCenterRecord(org.apache.poi.hssf.record.VCenterRecord) AxisUsedRecord(org.apache.poi.hssf.record.chart.AxisUsedRecord) DefaultRowHeightRecord(org.apache.poi.hssf.record.DefaultRowHeightRecord) GridsetRecord(org.apache.poi.hssf.record.GridsetRecord) LinkedDataRecord(org.apache.poi.hssf.record.chart.LinkedDataRecord) VerticalPageBreakRecord(org.apache.poi.hssf.record.VerticalPageBreakRecord) ChartFRTInfoRecord(org.apache.poi.hssf.record.chart.ChartFRTInfoRecord) ValueRangeRecord(org.apache.poi.hssf.record.chart.ValueRangeRecord) ChartStartObjectRecord(org.apache.poi.hssf.record.chart.ChartStartObjectRecord) NoteRecord(org.apache.poi.hssf.record.NoteRecord) ViewFieldsRecord(org.apache.poi.hssf.record.pivottable.ViewFieldsRecord) CFHeaderRecord(org.apache.poi.hssf.record.CFHeaderRecord) AxisParentRecord(org.apache.poi.hssf.record.chart.AxisParentRecord) BoolErrRecord(org.apache.poi.hssf.record.BoolErrRecord) SeriesToChartGroupRecord(org.apache.poi.hssf.record.chart.SeriesToChartGroupRecord) ObjRecord(org.apache.poi.hssf.record.ObjRecord) ProtectionRev4Record(org.apache.poi.hssf.record.ProtectionRev4Record) EOFRecord(org.apache.poi.hssf.record.EOFRecord) CFRule12Record(org.apache.poi.hssf.record.CFRule12Record) AreaFormatRecord(org.apache.poi.hssf.record.chart.AreaFormatRecord) RefModeRecord(org.apache.poi.hssf.record.RefModeRecord) BoundSheetRecord(org.apache.poi.hssf.record.BoundSheetRecord) CountryRecord(org.apache.poi.hssf.record.CountryRecord) HCenterRecord(org.apache.poi.hssf.record.HCenterRecord) NameCommentRecord(org.apache.poi.hssf.record.NameCommentRecord) DrawingGroupRecord(org.apache.poi.hssf.record.DrawingGroupRecord) SharedFormulaRecord(org.apache.poi.hssf.record.SharedFormulaRecord) BackupRecord(org.apache.poi.hssf.record.BackupRecord) ColumnInfoRecord(org.apache.poi.hssf.record.ColumnInfoRecord) PrintGridlinesRecord(org.apache.poi.hssf.record.PrintGridlinesRecord) ExternSheetRecord(org.apache.poi.hssf.record.ExternSheetRecord) WriteAccessRecord(org.apache.poi.hssf.record.WriteAccessRecord) DataItemRecord(org.apache.poi.hssf.record.pivottable.DataItemRecord) CalcModeRecord(org.apache.poi.hssf.record.CalcModeRecord) ExternalNameRecord(org.apache.poi.hssf.record.ExternalNameRecord) SelectionRecord(org.apache.poi.hssf.record.SelectionRecord) BarRecord(org.apache.poi.hssf.record.chart.BarRecord) ChartFormatRecord(org.apache.poi.hssf.record.chart.ChartFormatRecord) TextObjectRecord(org.apache.poi.hssf.record.TextObjectRecord) NameRecord(org.apache.poi.hssf.record.NameRecord) AxisLineFormatRecord(org.apache.poi.hssf.record.chart.AxisLineFormatRecord) SeriesListRecord(org.apache.poi.hssf.record.chart.SeriesListRecord) IndexRecord(org.apache.poi.hssf.record.IndexRecord) CategorySeriesAxisRecord(org.apache.poi.hssf.record.chart.CategorySeriesAxisRecord) FrameRecord(org.apache.poi.hssf.record.chart.FrameRecord) PlotAreaRecord(org.apache.poi.hssf.record.chart.PlotAreaRecord) LabelRecord(org.apache.poi.hssf.record.LabelRecord) DVALRecord(org.apache.poi.hssf.record.DVALRecord) UseSelFSRecord(org.apache.poi.hssf.record.UseSelFSRecord) WindowOneRecord(org.apache.poi.hssf.record.WindowOneRecord) DeltaRecord(org.apache.poi.hssf.record.DeltaRecord) WriteProtectRecord(org.apache.poi.hssf.record.WriteProtectRecord) ProtectRecord(org.apache.poi.hssf.record.ProtectRecord) TextRecord(org.apache.poi.hssf.record.chart.TextRecord) InterfaceHdrRecord(org.apache.poi.hssf.record.InterfaceHdrRecord) DSFRecord(org.apache.poi.hssf.record.DSFRecord) SupBookRecord(org.apache.poi.hssf.record.SupBookRecord) SSTRecord(org.apache.poi.hssf.record.SSTRecord) ChartEndObjectRecord(org.apache.poi.hssf.record.chart.ChartEndObjectRecord) TabIdRecord(org.apache.poi.hssf.record.TabIdRecord) AxisOptionsRecord(org.apache.poi.hssf.record.chart.AxisOptionsRecord) FeatRecord(org.apache.poi.hssf.record.FeatRecord) ViewDefinitionRecord(org.apache.poi.hssf.record.pivottable.ViewDefinitionRecord) TickRecord(org.apache.poi.hssf.record.chart.TickRecord) SaveRecalcRecord(org.apache.poi.hssf.record.SaveRecalcRecord) ExtendedFormatRecord(org.apache.poi.hssf.record.ExtendedFormatRecord) AxisRecord(org.apache.poi.hssf.record.chart.AxisRecord) MulBlankRecord(org.apache.poi.hssf.record.MulBlankRecord) FileSharingRecord(org.apache.poi.hssf.record.FileSharingRecord) UncalcedRecord(org.apache.poi.hssf.record.UncalcedRecord) DimensionsRecord(org.apache.poi.hssf.record.DimensionsRecord) FormulaRecord(org.apache.poi.hssf.record.FormulaRecord) FontIndexRecord(org.apache.poi.hssf.record.chart.FontIndexRecord) LineFormatRecord(org.apache.poi.hssf.record.chart.LineFormatRecord) RecordInputStream(org.apache.poi.hssf.record.RecordInputStream)

Example 2 with Record

use of org.apache.poi.hssf.record.Record in project poi by apache.

the class EventWorkbookBuilder method createStubWorkbook.

/**
	 * Creates a stub Workbook from the supplied records,
	 *  suitable for use with the {@link HSSFFormulaParser}
	 * @param externs The ExternSheetRecords in your file
	 * @param bounds The BoundSheetRecords in your file
	 * @param sst The SSTRecord in your file.
	 * @return A stub Workbook suitable for use with {@link HSSFFormulaParser}
	 */
public static InternalWorkbook createStubWorkbook(ExternSheetRecord[] externs, BoundSheetRecord[] bounds, SSTRecord sst) {
    List<Record> wbRecords = new ArrayList<Record>();
    // Core Workbook records go first
    if (bounds != null) {
        for (BoundSheetRecord bound : bounds) {
            wbRecords.add(bound);
        }
    }
    if (sst != null) {
        wbRecords.add(sst);
    }
    //  preceded by a SupBookRecord
    if (externs != null) {
        wbRecords.add(SupBookRecord.createInternalReferences((short) externs.length));
        for (ExternSheetRecord extern : externs) {
            wbRecords.add(extern);
        }
    }
    // Finally we need an EoF record
    wbRecords.add(EOFRecord.instance);
    return InternalWorkbook.createWorkbook(wbRecords);
}
Also used : ExternSheetRecord(org.apache.poi.hssf.record.ExternSheetRecord) ArrayList(java.util.ArrayList) BoundSheetRecord(org.apache.poi.hssf.record.BoundSheetRecord) Record(org.apache.poi.hssf.record.Record) SupBookRecord(org.apache.poi.hssf.record.SupBookRecord) SSTRecord(org.apache.poi.hssf.record.SSTRecord) EOFRecord(org.apache.poi.hssf.record.EOFRecord) ExternSheetRecord(org.apache.poi.hssf.record.ExternSheetRecord) BoundSheetRecord(org.apache.poi.hssf.record.BoundSheetRecord)

Example 3 with Record

use of org.apache.poi.hssf.record.Record in project poi by apache.

the class InternalWorkbook method fixTabIdRecord.

/**
     * make the tabid record look like the current situation.
     */
private void fixTabIdRecord() {
    Record rec = records.get(records.getTabpos());
    // we use the same check on Tabpos as done in other places
    if (records.getTabpos() <= 0) {
        return;
    }
    TabIdRecord tir = (TabIdRecord) rec;
    short[] tia = new short[boundsheets.size()];
    for (short k = 0; k < tia.length; k++) {
        tia[k] = k;
    }
    tir.setTabIdArray(tia);
}
Also used : TabIdRecord(org.apache.poi.hssf.record.TabIdRecord) WindowProtectRecord(org.apache.poi.hssf.record.WindowProtectRecord) PasswordRev4Record(org.apache.poi.hssf.record.PasswordRev4Record) DateWindow1904Record(org.apache.poi.hssf.record.DateWindow1904Record) FormatRecord(org.apache.poi.hssf.record.FormatRecord) BookBoolRecord(org.apache.poi.hssf.record.BookBoolRecord) StyleRecord(org.apache.poi.hssf.record.StyleRecord) RecalcIdRecord(org.apache.poi.hssf.record.RecalcIdRecord) EscherBSERecord(org.apache.poi.ddf.EscherBSERecord) EscherOptRecord(org.apache.poi.ddf.EscherOptRecord) HideObjRecord(org.apache.poi.hssf.record.HideObjRecord) Record(org.apache.poi.hssf.record.Record) EscherContainerRecord(org.apache.poi.ddf.EscherContainerRecord) HyperlinkRecord(org.apache.poi.hssf.record.HyperlinkRecord) ProtectionRev4Record(org.apache.poi.hssf.record.ProtectionRev4Record) EOFRecord(org.apache.poi.hssf.record.EOFRecord) MMSRecord(org.apache.poi.hssf.record.MMSRecord) PrecisionRecord(org.apache.poi.hssf.record.PrecisionRecord) BoundSheetRecord(org.apache.poi.hssf.record.BoundSheetRecord) CountryRecord(org.apache.poi.hssf.record.CountryRecord) EscherSpRecord(org.apache.poi.ddf.EscherSpRecord) NameCommentRecord(org.apache.poi.hssf.record.NameCommentRecord) FnGroupCountRecord(org.apache.poi.hssf.record.FnGroupCountRecord) DrawingGroupRecord(org.apache.poi.hssf.record.DrawingGroupRecord) BackupRecord(org.apache.poi.hssf.record.BackupRecord) EscherSplitMenuColorsRecord(org.apache.poi.ddf.EscherSplitMenuColorsRecord) ExternSheetRecord(org.apache.poi.hssf.record.ExternSheetRecord) WriteAccessRecord(org.apache.poi.hssf.record.WriteAccessRecord) EscherDggRecord(org.apache.poi.ddf.EscherDggRecord) CodepageRecord(org.apache.poi.hssf.record.CodepageRecord) EscherRecord(org.apache.poi.ddf.EscherRecord) NameRecord(org.apache.poi.hssf.record.NameRecord) BOFRecord(org.apache.poi.hssf.record.BOFRecord) FilePassRecord(org.apache.poi.hssf.record.FilePassRecord) FontRecord(org.apache.poi.hssf.record.FontRecord) UseSelFSRecord(org.apache.poi.hssf.record.UseSelFSRecord) WindowOneRecord(org.apache.poi.hssf.record.WindowOneRecord) WriteProtectRecord(org.apache.poi.hssf.record.WriteProtectRecord) ProtectRecord(org.apache.poi.hssf.record.ProtectRecord) InterfaceHdrRecord(org.apache.poi.hssf.record.InterfaceHdrRecord) DSFRecord(org.apache.poi.hssf.record.DSFRecord) InterfaceEndRecord(org.apache.poi.hssf.record.InterfaceEndRecord) SupBookRecord(org.apache.poi.hssf.record.SupBookRecord) SSTRecord(org.apache.poi.hssf.record.SSTRecord) TabIdRecord(org.apache.poi.hssf.record.TabIdRecord) PasswordRecord(org.apache.poi.hssf.record.PasswordRecord) PaletteRecord(org.apache.poi.hssf.record.PaletteRecord) EscherDgRecord(org.apache.poi.ddf.EscherDgRecord) ExtSSTRecord(org.apache.poi.hssf.record.ExtSSTRecord) ExtendedFormatRecord(org.apache.poi.hssf.record.ExtendedFormatRecord) FileSharingRecord(org.apache.poi.hssf.record.FileSharingRecord) RefreshAllRecord(org.apache.poi.hssf.record.RefreshAllRecord)

Example 4 with Record

use of org.apache.poi.hssf.record.Record in project poi by apache.

the class RecordOrderer method findDataValidationTableInsertPos.

/**
	 * Finds the index where the sheet validations header record should be inserted
	 * @param records the records for this sheet
	 *
	 * + WINDOW2
	 * o SCL
	 * o PANE
	 * oo SELECTION
	 * o STANDARDWIDTH
	 * oo MERGEDCELLS
	 * o LABELRANGES
	 * o PHONETICPR
	 * o Conditional Formatting Table
	 * o Hyperlink Table
	 * o Data Validity Table
	 * o SHEETLAYOUT
	 * o SHEETPROTECTION
	 * o RANGEPROTECTION
	 * + EOF
	 */
private static int findDataValidationTableInsertPos(List<RecordBase> records) {
    int i = records.size() - 1;
    if (!(records.get(i) instanceof EOFRecord)) {
        throw new IllegalStateException("Last sheet record should be EOFRecord");
    }
    while (i > 0) {
        i--;
        RecordBase rb = records.get(i);
        if (isDVTPriorRecord(rb)) {
            Record nextRec = (Record) records.get(i + 1);
            if (!isDVTSubsequentRecord(nextRec.getSid())) {
                throw new IllegalStateException("Unexpected (" + nextRec.getClass().getName() + ") found after (" + rb.getClass().getName() + ")");
            }
            return i + 1;
        }
        Record rec = (Record) rb;
        if (!isDVTSubsequentRecord(rec.getSid())) {
            throw new IllegalStateException("Unexpected (" + rec.getClass().getName() + ") while looking for DV Table insert pos");
        }
    }
    return 0;
}
Also used : EOFRecord(org.apache.poi.hssf.record.EOFRecord) RecordBase(org.apache.poi.hssf.record.RecordBase) DrawingSelectionRecord(org.apache.poi.hssf.record.DrawingSelectionRecord) GutsRecord(org.apache.poi.hssf.record.GutsRecord) UnknownRecord(org.apache.poi.hssf.record.UnknownRecord) ArrayRecord(org.apache.poi.hssf.record.ArrayRecord) DefaultColWidthRecord(org.apache.poi.hssf.record.DefaultColWidthRecord) DateWindow1904Record(org.apache.poi.hssf.record.DateWindow1904Record) DefaultRowHeightRecord(org.apache.poi.hssf.record.DefaultRowHeightRecord) GridsetRecord(org.apache.poi.hssf.record.GridsetRecord) SCLRecord(org.apache.poi.hssf.record.SCLRecord) DrawingRecord(org.apache.poi.hssf.record.DrawingRecord) BoolErrRecord(org.apache.poi.hssf.record.BoolErrRecord) Record(org.apache.poi.hssf.record.Record) HyperlinkRecord(org.apache.poi.hssf.record.HyperlinkRecord) ObjRecord(org.apache.poi.hssf.record.ObjRecord) EOFRecord(org.apache.poi.hssf.record.EOFRecord) PrintHeadersRecord(org.apache.poi.hssf.record.PrintHeadersRecord) RefModeRecord(org.apache.poi.hssf.record.RefModeRecord) PrecisionRecord(org.apache.poi.hssf.record.PrecisionRecord) RowRecord(org.apache.poi.hssf.record.RowRecord) SharedFormulaRecord(org.apache.poi.hssf.record.SharedFormulaRecord) CalcCountRecord(org.apache.poi.hssf.record.CalcCountRecord) ColumnInfoRecord(org.apache.poi.hssf.record.ColumnInfoRecord) WindowTwoRecord(org.apache.poi.hssf.record.WindowTwoRecord) PrintGridlinesRecord(org.apache.poi.hssf.record.PrintGridlinesRecord) IterationRecord(org.apache.poi.hssf.record.IterationRecord) CalcModeRecord(org.apache.poi.hssf.record.CalcModeRecord) SelectionRecord(org.apache.poi.hssf.record.SelectionRecord) TextObjectRecord(org.apache.poi.hssf.record.TextObjectRecord) LabelSSTRecord(org.apache.poi.hssf.record.LabelSSTRecord) RKRecord(org.apache.poi.hssf.record.RKRecord) IndexRecord(org.apache.poi.hssf.record.IndexRecord) BOFRecord(org.apache.poi.hssf.record.BOFRecord) LabelRecord(org.apache.poi.hssf.record.LabelRecord) DVALRecord(org.apache.poi.hssf.record.DVALRecord) WindowOneRecord(org.apache.poi.hssf.record.WindowOneRecord) DeltaRecord(org.apache.poi.hssf.record.DeltaRecord) PaneRecord(org.apache.poi.hssf.record.PaneRecord) NumberRecord(org.apache.poi.hssf.record.NumberRecord) FeatRecord(org.apache.poi.hssf.record.FeatRecord) ViewDefinitionRecord(org.apache.poi.hssf.record.pivottable.ViewDefinitionRecord) SaveRecalcRecord(org.apache.poi.hssf.record.SaveRecalcRecord) TableRecord(org.apache.poi.hssf.record.TableRecord) UncalcedRecord(org.apache.poi.hssf.record.UncalcedRecord) DimensionsRecord(org.apache.poi.hssf.record.DimensionsRecord) BlankRecord(org.apache.poi.hssf.record.BlankRecord) FormulaRecord(org.apache.poi.hssf.record.FormulaRecord)

Example 5 with Record

use of org.apache.poi.hssf.record.Record in project poi by apache.

the class RecordOrderer method findInsertPosForNewMergedRecordTable.

private static int findInsertPosForNewMergedRecordTable(List<RecordBase> records) {
    for (int i = records.size() - 2; i >= 0; i--) {
        // -2 to skip EOF record
        Object rb = records.get(i);
        if (!(rb instanceof Record)) {
            // even PageSettingsBlock (which doesn't normally appear after 'View Settings')
            continue;
        }
        Record rec = (Record) rb;
        switch(rec.getSid()) {
            // 'View Settings' (4 records)
            case WindowTwoRecord.sid:
            case SCLRecord.sid:
            case PaneRecord.sid:
            case SelectionRecord.sid:
            case UnknownRecord.STANDARDWIDTH_0099:
                return i + 1;
        }
    }
    throw new RuntimeException("Did not find Window2 record");
}
Also used : DrawingSelectionRecord(org.apache.poi.hssf.record.DrawingSelectionRecord) GutsRecord(org.apache.poi.hssf.record.GutsRecord) UnknownRecord(org.apache.poi.hssf.record.UnknownRecord) ArrayRecord(org.apache.poi.hssf.record.ArrayRecord) DefaultColWidthRecord(org.apache.poi.hssf.record.DefaultColWidthRecord) DateWindow1904Record(org.apache.poi.hssf.record.DateWindow1904Record) DefaultRowHeightRecord(org.apache.poi.hssf.record.DefaultRowHeightRecord) GridsetRecord(org.apache.poi.hssf.record.GridsetRecord) SCLRecord(org.apache.poi.hssf.record.SCLRecord) DrawingRecord(org.apache.poi.hssf.record.DrawingRecord) BoolErrRecord(org.apache.poi.hssf.record.BoolErrRecord) Record(org.apache.poi.hssf.record.Record) HyperlinkRecord(org.apache.poi.hssf.record.HyperlinkRecord) ObjRecord(org.apache.poi.hssf.record.ObjRecord) EOFRecord(org.apache.poi.hssf.record.EOFRecord) PrintHeadersRecord(org.apache.poi.hssf.record.PrintHeadersRecord) RefModeRecord(org.apache.poi.hssf.record.RefModeRecord) PrecisionRecord(org.apache.poi.hssf.record.PrecisionRecord) RowRecord(org.apache.poi.hssf.record.RowRecord) SharedFormulaRecord(org.apache.poi.hssf.record.SharedFormulaRecord) CalcCountRecord(org.apache.poi.hssf.record.CalcCountRecord) ColumnInfoRecord(org.apache.poi.hssf.record.ColumnInfoRecord) WindowTwoRecord(org.apache.poi.hssf.record.WindowTwoRecord) PrintGridlinesRecord(org.apache.poi.hssf.record.PrintGridlinesRecord) IterationRecord(org.apache.poi.hssf.record.IterationRecord) CalcModeRecord(org.apache.poi.hssf.record.CalcModeRecord) SelectionRecord(org.apache.poi.hssf.record.SelectionRecord) TextObjectRecord(org.apache.poi.hssf.record.TextObjectRecord) LabelSSTRecord(org.apache.poi.hssf.record.LabelSSTRecord) RKRecord(org.apache.poi.hssf.record.RKRecord) IndexRecord(org.apache.poi.hssf.record.IndexRecord) BOFRecord(org.apache.poi.hssf.record.BOFRecord) LabelRecord(org.apache.poi.hssf.record.LabelRecord) DVALRecord(org.apache.poi.hssf.record.DVALRecord) WindowOneRecord(org.apache.poi.hssf.record.WindowOneRecord) DeltaRecord(org.apache.poi.hssf.record.DeltaRecord) PaneRecord(org.apache.poi.hssf.record.PaneRecord) NumberRecord(org.apache.poi.hssf.record.NumberRecord) FeatRecord(org.apache.poi.hssf.record.FeatRecord) ViewDefinitionRecord(org.apache.poi.hssf.record.pivottable.ViewDefinitionRecord) SaveRecalcRecord(org.apache.poi.hssf.record.SaveRecalcRecord) TableRecord(org.apache.poi.hssf.record.TableRecord) UncalcedRecord(org.apache.poi.hssf.record.UncalcedRecord) DimensionsRecord(org.apache.poi.hssf.record.DimensionsRecord) BlankRecord(org.apache.poi.hssf.record.BlankRecord) FormulaRecord(org.apache.poi.hssf.record.FormulaRecord)

Aggregations

Record (org.apache.poi.hssf.record.Record)78 EOFRecord (org.apache.poi.hssf.record.EOFRecord)42 BOFRecord (org.apache.poi.hssf.record.BOFRecord)36 WindowTwoRecord (org.apache.poi.hssf.record.WindowTwoRecord)36 FormulaRecord (org.apache.poi.hssf.record.FormulaRecord)30 Test (org.junit.Test)25 DimensionsRecord (org.apache.poi.hssf.record.DimensionsRecord)24 NumberRecord (org.apache.poi.hssf.record.NumberRecord)24 RowRecord (org.apache.poi.hssf.record.RowRecord)24 EscherDggRecord (org.apache.poi.ddf.EscherDggRecord)23 NameRecord (org.apache.poi.hssf.record.NameRecord)23 ArrayList (java.util.ArrayList)21 EscherRecord (org.apache.poi.ddf.EscherRecord)21 BlankRecord (org.apache.poi.hssf.record.BlankRecord)21 DrawingRecord (org.apache.poi.hssf.record.DrawingRecord)21 UnknownRecord (org.apache.poi.hssf.record.UnknownRecord)19 BoundSheetRecord (org.apache.poi.hssf.record.BoundSheetRecord)18 MulBlankRecord (org.apache.poi.hssf.record.MulBlankRecord)18 StringRecord (org.apache.poi.hssf.record.StringRecord)18 NoteRecord (org.apache.poi.hssf.record.NoteRecord)17