Package org.apache.poi.hssf.record.formula

Examples of org.apache.poi.hssf.record.formula.RefPtg


    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);
    }
    return null;
  }
View Full Code Here


    int encodedLen = in.readUShort();
    Ptg[] sharedFormula = Ptg.readTokens(encodedLen, in);

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

    RefPtg refPtg = (RefPtg) convertedFormula[1];
    assertEquals("$C101", refPtg.toFormulaString());
    if (refPtg.getPtgClass() == Ptg.CLASS_REF) {
      throw new AssertionFailedError("Identified bug 45123");
    }

    confirmOperandClasses(sharedFormula, convertedFormula);
  }
View Full Code Here

      throw new RuntimeException(e);
    } catch (NoSuchFieldException e) {
      throw new RuntimeException(e);
    }
    Ptg[] ptgs = {
        new RefPtg("C1"),
        new RefPtg("C1"),
        new IntPtg(0),
        new RefPtg("B1"),
        new FuncVarPtg("OFFSET", (byte)3),
        RangePtg.instance,
        AttrPtg.SUM,
      };
    fr.setParsedExpression(ptgs);
View Full Code Here

      LittleEndianInput in = new LittleEndianByteArrayInputStream(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);
      }
      return null;
    }
View Full Code Here

    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);
    }
    return null;
  }
View Full Code Here

 
  public void testReserialize() {
    FormulaRecord formulaRecord = new FormulaRecord();
    formulaRecord.setRow(1);
    formulaRecord.setColumn((short) 1);
    formulaRecord.setParsedExpression(new Ptg[] { new RefPtg("B$5"), });
    formulaRecord.setValue(3.3);
    byte[] ser = formulaRecord.serialize();
    assertEquals(31, ser.length);

    RecordInputStream in = TestcaseRecordInputStream.create(ser);
    FormulaRecord fr2 = new FormulaRecord(in);
    assertEquals(3.3, fr2.getValue(), 0.0);
    Ptg[] ptgs = fr2.getParsedExpression();
    assertEquals(1, ptgs.length);
    RefPtg rp = (RefPtg) ptgs[0];
    assertEquals("B$5", rp.toFormulaString());
  }
View Full Code Here

        TextObjectRecord rec = new TextObjectRecord(is);

        Ptg ptg = rec.getLinkRefPtg();
        assertNotNull(ptg);
        assertEquals(RefPtg.class, ptg.getClass());
        RefPtg rptg = (RefPtg) ptg;
        assertEquals("T2", rptg.toFormulaString());

        byte [] data2 = rec.serialize();
        assertEquals(linkData.length, data2.length);
        assertTrue(Arrays.equals(linkData, data2));
    }
View Full Code Here

                    // Look for references, and update if needed
                    Ptg[] ptgs = fp.getRPNPtg();
                    boolean changed = false;
                    for(int i=0; i<ptgs.length; i++) {
                        if(ptgs[i] instanceof RefPtg) {
                            RefPtg rptg = (RefPtg)ptgs[i];
                            if(startRow <= rptg.getRowAsInt() &&
                                    rptg.getRowAsInt() <= endRow) {
                                // References a row that moved
                                rptg.setRow(rptg.getRowAsInt() + n);
                                changed = true;
                            }
                        }
                    }
                    // If any references were changed, then
View Full Code Here

    // text (first) arg type is number, other args are strings with fractional digits
    confirmMid(new NumberEval(123456), new StringEval("3.1"), new StringEval("2.9"), "34");
   
    // startPos is 1x1 area ref, numChars is cell ref
    AreaEval aeStart = new Area2DEval(new AreaPtg("A1:A1"), new ValueEval[] { new NumberEval(2), } );
    RefEval reNumChars = new Ref2DEval(new RefPtg("B1"), new NumberEval(3));
    confirmMid(new StringEval("galactic"), aeStart, reNumChars, "ala");

    confirmMid(new StringEval("galactic"), new NumberEval(3.1), BlankEval.INSTANCE, "");

    confirmMid(new StringEval("galactic"), new NumberEval(3), BoolEval.FALSE, "");
View Full Code Here

    short encodedLen = in.readShort();
    Stack sharedFormula = Ptg.createParsedExpressionTokens(encodedLen, in);
   
    Stack convertedFormula = SharedFormulaRecord.convertSharedFormulas(sharedFormula, 100, 200);
   
    RefPtg refPtg = (RefPtg) convertedFormula.get(1);
    assertEquals("$C101", refPtg.toFormulaString(null));
    if (refPtg.getPtgClass() == Ptg.CLASS_REF) {
      throw new AssertionFailedError("Identified bug 45123");
    }
   
    confirmOperandClasses(toPtgArray(sharedFormula), toPtgArray(convertedFormula));
  }
View Full Code Here

TOP

Related Classes of org.apache.poi.hssf.record.formula.RefPtg

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.