## org.apache.poi.hssf.record
Class ExternSheetRecord

    java.lang.Object
      org.apache.poi.hssf.record.RecordBase
          org.apache.poi.hssf.record.Record
              org.apache.poi.hssf.record.StandardRecord
                  org.apache.poi.hssf.record.ExternSheetRecord

    public class ExternSheetRecord

extends StandardRecord

EXTERNSHEET (0x0017)
A List of Indexes to EXTERNALBOOK (supplemental book) Records

Author:
  Libin Roman (Vista Portal LDT. Developer)

Field Summary
`static short` `sid`

Constructor Summary
`ExternSheetRecord()`
`ExternSheetRecord(RecordInputStream in)`

Method Summary
`int` `addRef(int extBookIndex, int firstSheetIndex, int lastSheetIndex)` Add a zero-based reference to a `SupBookRecord`.
`void` `addREFRecord(org.apache.poi.hssf.record.ExternSheetRecord.RefSubRecord rec)` adds REF struct (ExternSheetSubRecord)
`static ExternSheetRecord` `combine(ExternSheetRecord[] esrs)`
`int` `findRefIndexFromExtBookIndex(int extBookIndex)`
`protected int` `getDataSize()`
`int` `getExtbookIndexFromRefIndex(int refIndex)`
`int` `getFirstSheetIndexFromRefIndex(int extRefIndex)`
`int` `getNumOfREFRecords()` returns the number of REF Records, which is in model
`int` `getNumOfRefs()`
`int` `getRefIxForSheet(int externalBookIndex, int sheetIndex)`
`short` `getSid()` return the non static version of the id for this record.
`void` `serialize(LittleEndianOutput out)` Write the data content of this BIFF record.
`java.lang.String` `toString()` get a string representation of the record (for biffview/debugging)

Methods inherited from class org.apache.poi.hssf.record.StandardRecord
`getRecordSize, serialize`

Methods inherited from class org.apache.poi.hssf.record.Record
`clone, cloneViaReserialise, serialize`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### sid

    public static final short sid

See Also:
  Constant Field Values

Constructor Detail

### ExternSheetRecord

    public ExternSheetRecord()

### ExternSheetRecord

    public ExternSheetRecord(RecordInputStream in)

Method Detail

### 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 java.lang.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 consiting of a 'ushort sid' and 'ushort reclength' has already been written by thye superclass).

  Specified by:
    `serialize` in class `StandardRecord`

### getSid

    public short getSid()

  return the non static version of the id for this record.

  Specified by:
    `getSid` in class `Record`

### getExtbookIndexFromRefIndex

    public int getExtbookIndexFromRefIndex(int refIndex)

### findRefIndexFromExtBookIndex

    public int findRefIndexFromExtBookIndex(int extBookIndex)

  Returns:
    -1 if not found

### getFirstSheetIndexFromRefIndex

    public int getFirstSheetIndexFromRefIndex(int extRefIndex)

### 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:
    `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 sheetIndex)

### combine

    public static ExternSheetRecord combine(ExternSheetRecord[] esrs)

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.