Class DConRefRecord

All Implemented Interfaces:
org.apache.poi.common.Duplicatable, GenericRecord

public class DConRefRecord extends StandardRecord
DConRef records specify a range in a workbook (internal or external) that serves as a data source for pivot tables or data consolidation. Represents a DConRef Structure [MS-XLS s. 2.4.86], and the contained DConFile structure [MS-XLS s. 2.5.69]. This in turn contains a XLUnicodeStringNoCch [MS-XLS s. 2.5.296].
         _______________________________
        |          DConRef              |
(bytes) +-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+
        |    ref    |cch|  stFile   | un|
        +-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+
                              |
                     _________|_____________________
                    |DConFile / XLUnicodeStringNoCch|
                    +-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+
             (bits) |h|   reserved  |      rgb      |
                    +-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+
 
Where
  • DConFile.h = 0x00 if the characters inrgb are single byte, and DConFile.h = 0x01 if they are double byte.

    If they are double byte, then

    • If it exists, the length of DConRef.un = 2. Otherwise it is 1.
    • The length of DConFile.rgb = (2 * DConRef.cch). Otherwise it is equal to DConRef.cch.
  • DConRef.rgb starts with 0x01 if it is an external reference, and with 0x02 if it is a self-reference.
At the moment this class is read-only.
  • Field Details

    • sid

      public static final short sid
      The id of the record type, sid = 81
      See Also:
  • Constructor Details

    • DConRefRecord

      public DConRefRecord(DConRefRecord other)
    • DConRefRecord

      public DConRefRecord(byte[] data)
      Read constructor.
      Parameters:
      data - byte array containing a DConRef Record, including the header.
    • DConRefRecord

      public DConRefRecord(RecordInputStream inStream)
      Read Constructor.
      Parameters:
      inStream - RecordInputStream containing a DConRefRecord structure.
  • Method Details

    • getSid

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

      public int getFirstColumn()
      Returns:
      The first column of the range.
    • getFirstRow

      public int getFirstRow()
      Returns:
      The first row of the range.
    • getLastColumn

      public int getLastColumn()
      Returns:
      The last column of the range.
    • getLastRow

      public int getLastRow()
      Returns:
      The last row of the range.
    • getPath

      public byte[] getPath()
      Returns:
      raw path byte array.
    • getReadablePath

      public String getReadablePath()
      Returns:
      the link's path, with the special characters stripped/replaced. May be null. See MS-XLS 2.5.277 (VirtualPath)
    • isExternalRef

      public boolean isExternalRef()
      Checks if the data source in this reference record is external to this sheet or internal.
      Returns:
      true iff this is an external reference.
    • copy

      public DConRefRecord copy()
      Specified by:
      copy in interface org.apache.poi.common.Duplicatable
      Specified by:
      copy in class StandardRecord
    • getGenericRecordType

      public HSSFRecordTypes getGenericRecordType()
      Specified by:
      getGenericRecordType in interface GenericRecord
      Specified by:
      getGenericRecordType in class Record
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()