Package org.apache.poi.util

Examples of org.apache.poi.util.LittleEndianInput


    field_8_parsed_expr = Formula.create(Ptg.EMPTY_PTG_ARRAY);
  }

  public FormulaRecord(RecordInputStream ris) {
    super(ris);
    LittleEndianInput in = ris;
    long valueLongBits  = in.readLong();
    field_5_options = in.readShort();
    specialCachedValue = SpecialCachedValue.create(valueLongBits);
    if (specialCachedValue == null) {
      field_4_value = Double.longBitsToDouble(valueLongBits);
    }

    field_6_zero = in.readInt();

    int field_7_expression_len = in.readShort(); // this length does not include any extra array data
    int nBytesAvailable = in.available();
    field_8_parsed_expr = Formula.read(field_7_expression_len, in, nBytesAvailable);
  }
View Full Code Here


   * classes are preserved during this transformation, because Excel may not tolerate the
   * incorrect encoding.  The formula here is one such example (Excel displays #VALUE!).
   */
  public void testConvertSharedFormulasOperandClasses_bug45123() {

    LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(SHARED_FORMULA_WITH_REF_ARRAYS_DATA);
    int encodedLen = in.readUShort();
    Ptg[] sharedFormula = Ptg.readTokens(encodedLen, in);

    Ptg[] convertedFormula = SharedFormulaRecord.convertSharedFormulas(sharedFormula, 100, 200);

    RefPtg refPtg = (RefPtg) convertedFormula[1];
View Full Code Here

    System.arraycopy(ENCODED_CONSTANT_DATA, 0, fullData, ENCODED_PTG_DATA.length, ENCODED_CONSTANT_DATA.length);

    // Force encoded operand class for tArray
    fullData[0] = (byte) (ArrayPtg.sid + operandClass);

    LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(fullData);

    Ptg[] ptgs = Ptg.readTokens(ENCODED_PTG_DATA.length, in);
    assertEquals(1, ptgs.length);
    ArrayPtg aPtg = (ArrayPtg) ptgs[0];
    assertEquals(operandClass, aPtg.getPtgClass());
View Full Code Here

   * classes are preserved during this transformation, because Excel may not tolerate the
   * incorrect encoding.  The formula here is one such example (Excel displays #VALUE!).
   */
  public void testConvertSharedFormulasOperandClasses_bug45123() {

    LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(SHARED_FORMULA_WITH_REF_ARRAYS_DATA);
    int encodedLen = in.readUShort();
    Ptg[] sharedFormula = Ptg.readTokens(encodedLen, in);

    Ptg[] convertedFormula = SharedFormulaRecord.convertSharedFormulas(sharedFormula, 100, 200);

    RefPtg refPtg = (RefPtg) convertedFormula[1];
View Full Code Here

    in.readFully(byteEncoding);
    return new Formula(byteEncoding, encodedTokenLen);
  }

  public Ptg[] getTokens() {
    LittleEndianInput in = new LittleEndianByteArrayInputStream(_byteEncoding);
    return Ptg.readTokens(_encodedTokenLen, in);
  }
View Full Code Here

  /**
   * @param ris the RecordInputstream to read the record from
   */
  public NameCommentRecord(final RecordInputStream ris) {
    final LittleEndianInput in = ris;
    field_1_record_type = in.readShort();
    field_2_frt_cell_ref_flag = in.readShort();
    field_3_reserved = in.readLong();
    final int field_4_name_length = in.readShort();
    final int field_5_comment_length = in.readShort();

    in.readByte(); //spurious NUL
    field_6_name_text = StringUtil.readCompressedUnicode(in, field_4_name_length);
    in.readByte(); //spurious NUL
    field_7_comment_text = StringUtil.readCompressedUnicode(in, field_5_comment_length);
  }
View Full Code Here

    }
    field_6_unknown = readRawData(in, remaining);
  }

  private static Ptg readRefPtg(byte[] formulaRawBytes) {
    LittleEndianInput in = new LittleEndianInputStream(new ByteArrayInputStream(formulaRawBytes));
    byte ptgSid = in.readByte();
    switch(ptgSid) {
      case AreaPtg.sid:   return new AreaPtg(in);
      case Area3DPtg.sid: return new Area3DPtg(in);
      case RefPtg.sid:  return new RefPtg(in);
      case Ref3DPtg.sid:  return new Ref3DPtg(in);
View Full Code Here

   * classes are preserved during this transformation, because Excel may not tolerate the
   * incorrect encoding.  The formula here is one such example (Excel displays #VALUE!).
   */
  public void testConvertSharedFormulasOperandClasses_bug45123() {

    LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(SHARED_FORMULA_WITH_REF_ARRAYS_DATA);
    int encodedLen = in.readUShort();
    Ptg[] sharedFormula = Ptg.readTokens(encodedLen, in);

        SharedFormula sf = new SharedFormula(SpreadsheetVersion.EXCEL97);
    Ptg[] convertedFormula = sf.convertSharedFormulas(sharedFormula, 100, 200);

View Full Code Here

    // Confirm expected size of first record, and ushort strLen.
    assertEquals(MAX_BIFF_DATA, LittleEndian.getUShort(ser, 2));
    assertEquals(TEXT_LEN, LittleEndian.getUShort(ser, 4));

    // Confirm first few bytes of ContinueRecord
    LittleEndianInput crIn = new LittleEndianByteArrayInputStream(ser, (MAX_BIFF_DATA + 4));
    int nCharsInFirstRec = MAX_BIFF_DATA - (2 + 1); // strLen, optionFlags
    int nCharsInSecondRec = TEXT_LEN - nCharsInFirstRec;
    assertEquals(ContinueRecord.sid, crIn.readUShort());
    assertEquals(1 + nCharsInSecondRec, crIn.readUShort());
    assertEquals(0, crIn.readUByte());
    assertEquals('N', crIn.readUByte());
    assertEquals('O', crIn.readUByte());

    // re-read and make sure string value is the same
    RecordInputStream in = TestcaseRecordInputStream.create(ser);
    StringRecord sr2 = new StringRecord(in);
    assertEquals(sb.toString(), sr2.getString());
View Full Code Here

    if (!Arrays.equals(data, SAMPLE_ENCODING)) {
      fail("Encoding differs");
    }
  }
  public void testDecode() {
    LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(SAMPLE_ENCODING);
   
    Object[] values = ConstantValueParser.parse(in, 4);
    for (int i = 0; i < values.length; i++) {
      if(!isEqual(SAMPLE_VALUES[i], values[i])) {
        fail("Decoded result differs");
View Full Code Here

TOP

Related Classes of org.apache.poi.util.LittleEndianInput

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.