public ExtendedPivotTableViewFieldsRecord(RecordInputStream in) { _grbit1 = in.readInt(); _grbit2 = in.readUByte(); _citmShow = in.readUByte(); _isxdiSort = in.readUShort(); _isxdiShow = in.readUShort(); // This record seems to have different valid encodings switch (in.remaining()) { case 0: // as per "Microsoft Excel Developer's Kit" book // older version of SXVDEX - doesn't seem to have a sub-total name _reserved1 = 0; _reserved2 = 0; _subtotalName = null; return; case 10: // as per "MICROSOFT OFFICE EXCEL 97-2007 BINARY FILE FORMAT SPECIFICATION" pdf break; default: throw new RecordFormatException("Unexpected remaining size (" + in.remaining() + ")"); } int cchSubName = in.readUShort(); _reserved1 = in.readInt(); _reserved2 = in.readInt(); if (cchSubName != STRING_NOT_PRESENT_LEN) { _subtotalName = in.readUnicodeLEString(cchSubName); } }
/** * construct a unicode string record and fill its fields, ID is ignored * * @param in the RecordInputstream to read the record from */ public UnicodeString(RecordInputStream in) { field_1_charCount = in.readShort(); field_2_optionflags = in.readByte(); int runCount = 0; int extensionLength = 0; // Read the number of rich runs if rich text. if (isRichText()) { runCount = in.readShort(); } // Read the size of extended data if present. if (isExtendedText()) { extensionLength = in.readInt(); } boolean isCompressed = ((field_2_optionflags & 1) == 0); if (isCompressed) { field_3_string = in.readCompressedUnicode(getCharCount()); } else { field_3_string = in.readUnicodeLEString(getCharCount()); } if (isRichText() && (runCount > 0)) { field_4_format_runs = new ArrayList<FormatRun>(runCount); for (int i = 0; i < runCount; i++) { field_4_format_runs.add(new FormatRun(in)); } } if (isExtendedText() && (extensionLength > 0)) { field_5_ext_rst = new ExtRst(new ContinuableRecordInput(in), extensionLength); if (field_5_ext_rst.getDataSize() + 4 != extensionLength) { System.err.println( "ExtRst was supposed to be " + extensionLength + " bytes long, but seems to actually be " + (field_5_ext_rst.getDataSize() + 4)); } } }
public FeatFormulaErr2(RecordInputStream in) { errorCheck = in.readInt(); }