Hi,

I�m a subscriber of the POI list, to follow the product evolution since we use 
it in our GED tool. A friend o mine ask for assistance in using formulas but I 
never did this if POI (I just use to extract data). Do you know how can send 
his help request for the POI developers?


TIA


       
                   H E L P    R E Q U E S T      I S   B E L O W



Hi !

I need a little assistence. I'm just trying to evaluate a simple formula using 
HSSF component. Take a look
in the code below:

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellReference;

/**
 * Simple test class.
 * @version 1.0
 */
public class Formula {
    
    private HSSFWorkbook wb;
    private HSSFSheet sheet;
    
    public Formula(){
        this.wb = new HSSFWorkbook();
        this.createSheet();
    }

    private void createSheet(){
        this.sheet = this.wb.createSheet();
        this.createCells();
    }
    
    private void createCells(){
        HSSFRow r = null;
        HSSFCell c = null;
        
        HSSFCell formula = null;
        
        this.sheet.createRow(0);
        this.sheet.createRow(1);
        this.sheet.createRow(2);
       
        c = this.sheet.getRow(0).createCell((short)1);
        c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
        this.sheet.getRow(0).getCell((short)1).setCellValue(10);
        c = this.sheet.getRow(1).createCell((short)1);
        c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
        this.sheet.getRow(1).getCell((short)1).setCellValue(10);
        c = this.sheet.getRow(2).createCell((short)1);
        c.setCellType(HSSFCell.CELL_TYPE_FORMULA);
        c.setCellFormula("A0+A1");
        
        HSSFFormulaEvaluator evaluator = new 
HSSFFormulaEvaluator(this.sheet,this.wb);
        
        CellReference cellReference = new CellReference(2,1);
        HSSFRow row = sheet.getRow(cellReference.getRow());
        HSSFCell cell = row.getCell(cellReference.getCol());
     
        if (cell == null){
            System.out.println("its null");
        } else if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {
            System.out.println("Formula : "+ cell.getCellFormula());
        }
       
        HSSFFormulaEvaluator.CellValue cellValue = evaluator.evaluate(cell);

        System.out.println(cellValue.getNumberValue());
    }
    
    public static void main(String args[]){
        Formula f = new Formula();
    }

}


My program aborts with a NullPointerException:
Formula : A0+A1
java.lang.NullPointerException
        at 
org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.internalEvaluate(HSSFFormulaEvaluator.java:281)
        at 
org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluate(HSSFFormulaEvaluator.java:181)
        at com.datasul.dcl.formula.test.Formula.createCells(Formula.java:67)
        at com.datasul.dcl.formula.test.Formula.createSheet(Formula.java:30)
        at com.datasul.dcl.formula.test.Formula.<init>(Formula.java:25)
        at com.datasul.dcl.formula.test.Formula.main(Formula.java:73)
Exception in thread "main" 

Did I make any mistake ? Can somebody help me ?

Thanks in advance !




-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Enviada em: ter�a-feira, 24 de maio de 2005 11:23
Para: [EMAIL PROTECTED]
Assunto: cvs commit: jakarta-poi/src/documentation/content/xdocs/hssf eval.xml

avik        2005/05/24 07:23:03

  Modified:    src/documentation/content/xdocs/hssf eval.xml
  Log:
  small update
  
  Revision  Changes    Path
  1.3       +4 -5      jakarta-poi/src/documentation/content/xdocs/hssf/eval.xml
  
  Index: eval.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/documentation/content/xdocs/hssf/eval.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- eval.xml  19 May 2005 10:36:06 -0000      1.2
  +++ eval.xml  24 May 2005 14:23:03 -0000      1.3
  @@ -15,11 +15,10 @@
                                formulas in Excels sheets read-in, or created 
in POI. This document explains
                                how to use the API to evaluate your formulas. 
                        </p>
  -                     <warning> This code currently lives in Bugzilla as 
  -                             <link 
href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34828";> 
  -                             bug 34828 </link>. It is expected to land in 
POI CVS in the scratchpad 
  -                             area soon.
  -                     </warning>
  +                     <note> This code currently lives the scratchpad area of 
the POI CVS repository. 
  +                             Ensure that you have the scratchpad jar or the 
scratchpad build area in your
  +                             classpath before experimenting with this code.
  +                     </note>
                </section>
                <section><title>Status</title>
                        <p>     The code currently provides implementations for 
all the arithmatic operators.
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/

Reply via email to