Class ExternSheetRecord


public class ExternSheetRecord extends StandardRecord
EXTERNSHEET (0x0017)

A List of Indexes to EXTERNALBOOK (supplemental book) Records

  • Field Details

  • Constructor Details

    • ExternSheetRecord

      public ExternSheetRecord()
    • ExternSheetRecord

      public ExternSheetRecord(RecordInputStream in)
  • Method Details

    • getNumOfRefs

      public int getNumOfRefs()
      Returns:
      number of REF structures
    • addREFRecord

      public void addREFRecord(org.apache.poi.hssf.record.ExternSheetRecord.RefSubRecord rec)
      adds REF struct (ExternSheetSubRecord)
      Parameters:
      rec - REF struct
    • getNumOfREFRecords

      public int getNumOfREFRecords()
      returns the number of REF Records, which is in model
      Returns:
      number of REF records
    • toString

      public String toString()
      Description copied from class: Record
      get a string representation of the record (for biffview/debugging)
      Overrides:
      toString in class Record
    • getDataSize

      protected int getDataSize()
      Specified by:
      getDataSize in class StandardRecord
    • serialize

      public void serialize(LittleEndianOutput out)
      Description copied from class: StandardRecord
      Write the data content of this BIFF record. The 'ushort sid' and 'ushort size' header fields have already been written by the superclass.

      The number of bytes written must equal the record size reported by RecordBase.getRecordSize()} minus four ( record header consisting of a 'ushort sid' and 'ushort reclength' has already been written by their superclass).

      Specified by:
      serialize in class StandardRecord
      Parameters:
      out - the output object
    • removeSheet

      public void removeSheet(int sheetIdx)
    • getSid

      public short getSid()
      return the non static version of the id for this record.
      Specified by:
      getSid in class Record
      Returns:
      he id for this record
    • getExtbookIndexFromRefIndex

      public int getExtbookIndexFromRefIndex(int refIndex)
      Parameters:
      refIndex - specifies the n-th refIndex
      Returns:
      the index of the SupBookRecord for this index
    • findRefIndexFromExtBookIndex

      public int findRefIndexFromExtBookIndex(int extBookIndex)
      Parameters:
      extBookIndex - external sheet reference index
      Returns:
      -1 if not found
    • getFirstSheetIndexFromRefIndex

      public int getFirstSheetIndexFromRefIndex(int extRefIndex)
      Returns the first sheet that the reference applies to, or -1 if the referenced sheet can't be found, or -2 if the reference is workbook scoped.
      Parameters:
      extRefIndex - external sheet reference index
      Returns:
      the first sheet that the reference applies to, or -1 if the referenced sheet can't be found, or -2 if the reference is workbook scoped
    • getLastSheetIndexFromRefIndex

      public int getLastSheetIndexFromRefIndex(int extRefIndex)
      Returns the last sheet that the reference applies to, or -1 if the referenced sheet can't be found, or -2 if the reference is workbook scoped. For a single sheet reference, the first and last should be the same.
      Parameters:
      extRefIndex - external sheet reference index
      Returns:
      the last sheet that the reference applies to, or -1 if the referenced sheet can't be found, or -2 if the reference is workbook scoped.
    • addRef

      public int addRef(int extBookIndex, int firstSheetIndex, int lastSheetIndex)
      Add a zero-based reference to a SupBookRecord.

      If the type of the SupBook record is same-sheet referencing, Add-In referencing, DDE data source referencing, or OLE data source referencing, then no scope is specified and this value MUST be -2. Otherwise, the scope must be set as follows:

      1. -2 Workbook-level reference that applies to the entire workbook.
      2. -1 Sheet-level reference.
      3. >=0 Sheet-level reference. This specifies the first sheet in the reference.

        If the SupBook type is unused or external workbook referencing, then this value specifies the zero-based index of an external sheet name, see SupBookRecord.getSheetNames(). This referenced string specifies the name of the first sheet within the external workbook that is in scope. This sheet MUST be a worksheet or macro sheet.

        If the supporting link type is self-referencing, then this value specifies the zero-based index of a BoundSheetRecord record in the workbook stream that specifies the first sheet within the scope of this reference. This sheet MUST be a worksheet or a macro sheet.

      Parameters:
      extBookIndex - the external book block index
      firstSheetIndex - the scope, must be -2 for add-in references
      lastSheetIndex - the scope, must be -2 for add-in references
      Returns:
      index of newly added ref
    • getRefIxForSheet

      public int getRefIxForSheet(int externalBookIndex, int firstSheetIndex, int lastSheetIndex)
    • combine

      public static ExternSheetRecord combine(ExternSheetRecord[] esrs)