You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@poi.apache.org by don_salieri <p....@gmail.com> on 2006/08/24 17:19:35 UTC

formula problem

Hi friends,
i have a problem, if i create this formula into one cell:

        String somma =
"SUM(IF(A1=\"T\";B2+1;);IF(A2=\"T\";B2+1;);IF(A3=\"T\";B2+1;))";
        row.createCell((short)0).setCellFormula(somma);


when i run the program i obtain this exception:

Exception in thread "main" java.lang.RuntimeException: Cannot Parse, sorry :
Integer Expected
        at org.apache.poi.hssf.model.FormulaParser.Abort(FormulaParser.java
:117)
        at org.apache.poi.hssf.model.FormulaParser.Expected(
FormulaParser.java:124)
        at org.apache.poi.hssf.model.FormulaParser.GetNum(FormulaParser.java
:239)
        at org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
:479)
        at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
:548)
        at org.apache.poi.hssf.model.FormulaParser.Expression(
FormulaParser.java:596)
        at org.apache.poi.hssf.model.FormulaParser.Arguments(
FormulaParser.java:453)
        at org.apache.poi.hssf.model.FormulaParser.function(
FormulaParser.java:315)
        at org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
:265)
        at org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
:474)
        at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
:548)
        at org.apache.poi.hssf.model.FormulaParser.Expression(
FormulaParser.java:596)
        at org.apache.poi.hssf.model.FormulaParser.Arguments(
FormulaParser.java:443)
        at org.apache.poi.hssf.model.FormulaParser.function(
FormulaParser.java:315)
        at org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
:265)
        at org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
:474)
        at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
:548)
        at org.apache.poi.hssf.model.FormulaParser.Expression(
FormulaParser.java:596)
        at org.apache.poi.hssf.model.FormulaParser.parse(FormulaParser.java
:700)
        at org.apache.poi.hssf.usermodel.HSSFCell.setCellFormula(
HSSFCell.java:678)
        at pretest.Main.main(Main.java:66)

Why and i can solve it?....thanks

Re: Help reading formula in a spreadsheet..

Posted by de...@yahoo.com.
1. If the xls is created by Excel and not by using
POI, you can simply read the "cached" evaluation of
the formula by using the appropriate
HSSFCell.get###CellValue() method. eg. if you expect
the cell to have a formula that evaluates to a number,
you can simply do:

HSSFCell cell = ... // get the reference to the cell
double value = cell.getNumericCellValue();




2. I noticed you had:

-- snip --
HSSFFormulaEvaluator.CellValue cellValue = 
      evaluator.evaluate(cell);
String a = String.valueOf(cellValue);
System.out.println("THE FORMULA CELL HAS : " + a);
-- snip --


If you must use the FormulaEvaluator, you will need to
inspect "type" of the CellValue returned by the
formula evaluation and use the appropriate getter as
so:

-- code --
HSSFFormulaEvaluator.CellValue cellValue = 
      evaluator.evaluate(cell);
switch (cellValue.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
// blah
case HSSFCell.CELL_TYPE_STRING:
// blah
// etc...
}
-- code --


Of course, if you are sure that the formula evaluates
to a number, you can simply do:
cellValue.getNumberValue() after the call to
evaluator.evaluate(cell).


HTH,
~ amol

---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Help reading formula in a spreadsheet..

Posted by Mike Troxclaire <mi...@hotmail.com>.
Hello..
I am having trouble reading the cells with formula in them. I have read the 
documentation on the apache site but am not successful. Can anybody please 
tell me what am I doing wrong here....Here is my code..

****************************************************************************
           InputStream input = 
poiexample.class.getResourceAsStream("myss_01.xls");
            POIFSFileSystem fs = new POIFSFileSystem(input);
            HSSFWorkbook wb = new HSSFWorkbook(fs);
            HSSFSheet sheet = wb.getSheetAt(0);

            HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(sheet, 
wb);





            CellReference cellReference = new CellReference("M87");

			// Iterate over each row in the sheet
			Iterator rows = sheet.rowIterator();
			rows.next(); //skip column headers;

            //while loop open - rows
            while( rows.hasNext() ) {


                //double shelfpack = 0.0;

				String vndritemno = "";
				String bwiitemno = "";
				String itemdesc = "";
				String stocknguom = "";
				String sellinguom = "";
				String priceuom = "";
				String shelfpack = "";
				String brkshlfpck = "";
				String palletuom = "";
				//String palletqty = "";
				double palletqtydou = 0.00;
				String plupccode = "";
				double palletwgtdou = 0.00;
				double palletcubedou = 0.00;
				double pallethgtdou = 0.00;
				double palletdepthdou = 0.00;
				double palletwidthdou = 0.00;
                HSSFRow row = (HSSFRow) rows.next();
                System.out.println( "Row #" + row.getRowNum() );

                // Iterate over each cell in the row and print out the 
cell's content
                Iterator cells = row.cellIterator();

                //while loop open - cells
                while( cells.hasNext() ) {

					String string_temp = "";
                    HSSFCell cell = (HSSFCell) cells.next();
                    System.out.println( "Cell #" + cell.getCellNum() );




                    //HSSFFormulaEvaluator.CellValue cellValue = 
evaluator.evaluate(cell);







                    //switch open
                    switch ( cell.getCellType() ) {
                        case HSSFCell.CELL_TYPE_NUMERIC:
                            //System.out.println( cell.getNumericCellValue() 
);
                            break;
						case HSSFCell.CELL_TYPE_STRING :
							//		System.out.println(cell.getStringCellValue());
							string_temp = cell.getStringCellValue();
							break;
                        default:
                            System.out.println( "unsupported cell type" );
                            break;
                    } //switch close



					switch (cell.getCellNum()) {
					case 0 :
						vndritemno = string_temp;
						break;


					case 12 :

					    /*

						switch (cell.getCellType())

						{

							case HSSFCell.CELL_TYPE_FORMULA :
							    HSSFFormulaEvaluator.CellValue cellValue = 
evaluator.evaluate(cell);
							    String a = String.valueOf(cellValue);
						    	System.out.println("THE FORMULA CELL HAS : " + a);
						    	palletcubedou = Double.valueOf(a).doubleValue();
						    	break;



							case HSSFCell.CELL_TYPE_NUMERIC :
								palletcubedou = cell.getNumericCellValue();
								break;

							case HSSFCell.CELL_TYPE_STRING :
							    if(!StringUtils.isBlank(string_temp))
								palletcubedou = Double.valueOf(string_temp).doubleValue();
								break;

							default :
								System.out.println("unsupported cell type");
								break;
						}

						break;

						*/

					    HSSFFormulaEvaluator.CellValue cellValue = 
evaluator.evaluate(cell);
					    switch (cell.getCellType()) {
						case HSSFCell.CELL_TYPE_BOOLEAN:
					    	System.out.println("VALUE 1 : " + cellValue.getBooleanValue());
					    	break;
						case HSSFCell.CELL_TYPE_NUMERIC:
					    	System.out.println("VALUE 2 : " + cellValue.getNumberValue());
					    	break;
						case HSSFCell.CELL_TYPE_STRING:
					    	System.out.println("VALUE 3 : " + cellValue.getStringValue());
					    	break;
						case HSSFCell.CELL_TYPE_BLANK:
					    	break;
						case HSSFCell.CELL_TYPE_ERROR:
					    	break;

						// CELL_TYPE_FORMULA will never happen
						case HSSFCell.CELL_TYPE_FORMULA:
					    	break;
					}

					    break;
****************************************************************************

Any help in this matter would be much appreciated.

Thanks in advance,

Mike.

_________________________________________________________________
Search from any web page with powerful protection. Get the FREE Windows Live 
Toolbar Today!   http://get.live.com/toolbar/overview


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Re: Please help - COUNTIF yields '#VALUE!" in Cells of 2nd sheet

Posted by Rana Aich <ra...@yahoo.com>.
Hello All,

Is there any unresolved issue with setting CellFormula
with COUNTIF? I noticed the same issue in the
Jakarta-Poi mailing archive.

My Problem is:

When I use COUNTIF for seting the CellFormula I'm
getting '#VALUE!". I only get the values after
selecting the cell and pressing 'Enter' key.

Whereas, simple Formulas such as SUM and AVERAGE is
working fine.

Can anyone suggest a solution?





--- Rana Aich <ra...@yahoo.com> wrote:

> Thanks for your tips. Actually I went further and
> found that the Formula that I'm using has COUNTIF.
> The
> formula that gives me wrong result is as follows:
> 
>
=COUNTIF(sheet1!E2:E183,"<=499")-COUNTIF(sheet1!E2:E183,"<200")
> 
> Whereas, I've tried a simple formula as below:
> =SUM(sheet1!E2:E115) and Bingo! It is working. So it
> seems I have done something wrong with the String
> processing with "COUNTIF".
> 
> My "Calculation Tab" in "Tool>Option" is in
> Automatic
> mode.
> 
> --- deshmol-lists@yahoo.com wrote:
> 
> > Check whether you have 
> > 
> >  Tools > Options > [calculations_tab] >
> Calculation 
> > 
> > ...set to "Automatic".
> > 
> > 
> > Alternatively, you can also use
> > F9/Shift+F9/Ctrl+Alt+F9/Ctrl+Alt+Shift+F9 to
> > evaluate
> > all changed formulae in the sheet (look up the
> excel
> > help for details/differences of each key
> > combination.
> > 
> > 
> > ~ amol
> > 
> > --- Rana Aich <ra...@yahoo.com> wrote:
> > 
> > > Hi,
> > > 
> > > I'm generating an Excel File with two sheets :
> > > Sheet1
> > > and Sheet2. In Sheet1 I've calculated few
> formulas
> > -
> > > and they are working fine.
> > > 
> > > In the Sheet2 I put formulas based on values on
> > > Sheet1. But instead of getting the Proper Values
> > I'm
> > > getting "#VALUE!" in all the cells. Interstingly
> > > after
> > > clicking the individual cells in Sheet2 and
> > pressing
> > > the "Enter" key, the Cell value is shown.
> > > 
> > > How can I obtain the proper values in the cells
> of
> > > 2nd
> > > sheet instead of "#VALUE!"?
> > > 
> > > Thanking you all in advance.
> > > 
> > > 
> > > 
> > > 
> > >
> >
>
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > > poi-user-unsubscribe@jakarta.apache.org
> > > Mailing List:    
> > > http://jakarta.apache.org/site/mail2.html#poi
> > > The Apache Jakarta Poi Project: 
> > > http://jakarta.apache.org/poi/
> > > 
> > > 
> > 
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > poi-user-unsubscribe@jakarta.apache.org
> > Mailing List:    
> > http://jakarta.apache.org/site/mail2.html#poi
> > The Apache Jakarta Poi Project: 
> > http://jakarta.apache.org/poi/
> > 
> > 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> poi-user-unsubscribe@jakarta.apache.org
> Mailing List:    
> http://jakarta.apache.org/site/mail2.html#poi
> The Apache Jakarta Poi Project: 
> http://jakarta.apache.org/poi/
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Re: Please help - getting '#VALUE!" in Cells of 2nd sheet

Posted by Rana Aich <ra...@yahoo.com>.
Thanks for your tips. Actually I went further and
found that the Formula that I'm using has COUNTIF. The
formula that gives me wrong result is as follows:

=COUNTIF(sheet1!E2:E183,"<=499")-COUNTIF(sheet1!E2:E183,"<200")

Whereas, I've tried a simple formula as below:
=SUM(sheet1!E2:E115) and Bingo! It is working. So it
seems I have done something wrong with the String
processing with "COUNTIF".

My "Calculation Tab" in "Tool>Option" is in Automatic
mode.

--- deshmol-lists@yahoo.com wrote:

> Check whether you have 
> 
>  Tools > Options > [calculations_tab] > Calculation 
> 
> ...set to "Automatic".
> 
> 
> Alternatively, you can also use
> F9/Shift+F9/Ctrl+Alt+F9/Ctrl+Alt+Shift+F9 to
> evaluate
> all changed formulae in the sheet (look up the excel
> help for details/differences of each key
> combination.
> 
> 
> ~ amol
> 
> --- Rana Aich <ra...@yahoo.com> wrote:
> 
> > Hi,
> > 
> > I'm generating an Excel File with two sheets :
> > Sheet1
> > and Sheet2. In Sheet1 I've calculated few formulas
> -
> > and they are working fine.
> > 
> > In the Sheet2 I put formulas based on values on
> > Sheet1. But instead of getting the Proper Values
> I'm
> > getting "#VALUE!" in all the cells. Interstingly
> > after
> > clicking the individual cells in Sheet2 and
> pressing
> > the "Enter" key, the Cell value is shown.
> > 
> > How can I obtain the proper values in the cells of
> > 2nd
> > sheet instead of "#VALUE!"?
> > 
> > Thanking you all in advance.
> > 
> > 
> > 
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > poi-user-unsubscribe@jakarta.apache.org
> > Mailing List:    
> > http://jakarta.apache.org/site/mail2.html#poi
> > The Apache Jakarta Poi Project: 
> > http://jakarta.apache.org/poi/
> > 
> > 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> poi-user-unsubscribe@jakarta.apache.org
> Mailing List:    
> http://jakarta.apache.org/site/mail2.html#poi
> The Apache Jakarta Poi Project: 
> http://jakarta.apache.org/poi/
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Re: Please help - getting '#VALUE!" in Cells of 2nd sheet

Posted by de...@yahoo.com.
Check whether you have 

 Tools > Options > [calculations_tab] > Calculation 

...set to "Automatic".


Alternatively, you can also use
F9/Shift+F9/Ctrl+Alt+F9/Ctrl+Alt+Shift+F9 to evaluate
all changed formulae in the sheet (look up the excel
help for details/differences of each key combination.


~ amol

--- Rana Aich <ra...@yahoo.com> wrote:

> Hi,
> 
> I'm generating an Excel File with two sheets :
> Sheet1
> and Sheet2. In Sheet1 I've calculated few formulas -
> and they are working fine.
> 
> In the Sheet2 I put formulas based on values on
> Sheet1. But instead of getting the Proper Values I'm
> getting "#VALUE!" in all the cells. Interstingly
> after
> clicking the individual cells in Sheet2 and pressing
> the "Enter" key, the Cell value is shown.
> 
> How can I obtain the proper values in the cells of
> 2nd
> sheet instead of "#VALUE!"?
> 
> Thanking you all in advance.
> 
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> poi-user-unsubscribe@jakarta.apache.org
> Mailing List:    
> http://jakarta.apache.org/site/mail2.html#poi
> The Apache Jakarta Poi Project: 
> http://jakarta.apache.org/poi/
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Please help - getting '#VALUE!" in Cells of 2nd sheet

Posted by Rana Aich <ra...@yahoo.com>.
Hi,

I'm generating an Excel File with two sheets : Sheet1
and Sheet2. In Sheet1 I've calculated few formulas -
and they are working fine.

In the Sheet2 I put formulas based on values on
Sheet1. But instead of getting the Proper Values I'm
getting "#VALUE!" in all the cells. Interstingly after
clicking the individual cells in Sheet2 and pressing
the "Enter" key, the Cell value is shown.

How can I obtain the proper values in the cells of 2nd
sheet instead of "#VALUE!"?

Thanking you all in advance.




---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Re: formula problem

Posted by de...@yahoo.com.
also, this is now fixed in the SVN trunk. So if you
are 
building from source, getting the latest will solve
the 
problem as well (ie. you can specify the formula with 
the missing arg and it will work without the
exception).

~ amol

--- deshmol-lists@yahoo.com wrote:

> I agree. In this case specifically, you could
> substitute the missing else with a 0 and no
> exception
> will be thrown.
> 
> ~ amol
> 
> --- Sebastian Frehmel <uh...@stud.uni-karlsruhe.de>
> wrote:
> 
> > I would say you don't have an else-statement in
> your
> > IFs. If "IF" 
> > evaluates to false, the element in the "SUM" list
> > ist undefined or 
> > something. That's why you get "Integer expected".
> > 
> > don_salieri schrieb:
> > > Hi friends,
> > > i have a problem, if i create this formula into
> > one cell:
> > >
> > >        String somma =
> > >
> >
>
"SUM(IF(A1=\"T\";B2+1;);IF(A2=\"T\";B2+1;);IF(A3=\"T\";B2+1;))";
> > >       
> > row.createCell((short)0).setCellFormula(somma);
> > >
> > >
> > > when i run the program i obtain this exception:
> > >
> > > Exception in thread "main"
> > java.lang.RuntimeException: Cannot Parse, 
> > > sorry :
> > > Integer Expected
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.Abort(FormulaParser.java
> > > :117)
> > >        at
> > org.apache.poi.hssf.model.FormulaParser.Expected(
> > > FormulaParser.java:124)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.GetNum(FormulaParser.java
> > > :239)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> > > :479)
> > >        at
> >
>
org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> > > :548)
> > >        at
> >
> org.apache.poi.hssf.model.FormulaParser.Expression(
> > > FormulaParser.java:596)
> > >        at
> > org.apache.poi.hssf.model.FormulaParser.Arguments(
> > > FormulaParser.java:453)
> > >        at
> > org.apache.poi.hssf.model.FormulaParser.function(
> > > FormulaParser.java:315)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
> > > :265)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> > > :474)
> > >        at
> >
>
org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> > > :548)
> > >        at
> >
> org.apache.poi.hssf.model.FormulaParser.Expression(
> > > FormulaParser.java:596)
> > >        at
> > org.apache.poi.hssf.model.FormulaParser.Arguments(
> > > FormulaParser.java:443)
> > >        at
> > org.apache.poi.hssf.model.FormulaParser.function(
> > > FormulaParser.java:315)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
> > > :265)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> > > :474)
> > >        at
> >
>
org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> > > :548)
> > >        at
> >
> org.apache.poi.hssf.model.FormulaParser.Expression(
> > > FormulaParser.java:596)
> > >        at 
> > >
> >
>
org.apache.poi.hssf.model.FormulaParser.parse(FormulaParser.java
> > > :700)
> > >        at
> >
>
org.apache.poi.hssf.usermodel.HSSFCell.setCellFormula(
> > > HSSFCell.java:678)
> > >        at pretest.Main.main(Main.java:66)
> > >
> > > Why and i can solve it?....thanks
> > >
> > 
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > poi-user-unsubscribe@jakarta.apache.org
> > Mailing List:    
> > http://jakarta.apache.org/site/mail2.html#poi
> > The Apache Jakarta Poi Project: 
> > http://jakarta.apache.org/poi/
> > 
> > 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> poi-user-unsubscribe@jakarta.apache.org
> Mailing List:    
> http://jakarta.apache.org/site/mail2.html#poi
> The Apache Jakarta Poi Project: 
> http://jakarta.apache.org/poi/
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Re: formula problem

Posted by de...@yahoo.com.
I agree. In this case specifically, you could
substitute the missing else with a 0 and no exception
will be thrown.

~ amol

--- Sebastian Frehmel <uh...@stud.uni-karlsruhe.de>
wrote:

> I would say you don't have an else-statement in your
> IFs. If "IF" 
> evaluates to false, the element in the "SUM" list
> ist undefined or 
> something. That's why you get "Integer expected".
> 
> don_salieri schrieb:
> > Hi friends,
> > i have a problem, if i create this formula into
> one cell:
> >
> >        String somma =
> >
>
"SUM(IF(A1=\"T\";B2+1;);IF(A2=\"T\";B2+1;);IF(A3=\"T\";B2+1;))";
> >       
> row.createCell((short)0).setCellFormula(somma);
> >
> >
> > when i run the program i obtain this exception:
> >
> > Exception in thread "main"
> java.lang.RuntimeException: Cannot Parse, 
> > sorry :
> > Integer Expected
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.Abort(FormulaParser.java
> > :117)
> >        at
> org.apache.poi.hssf.model.FormulaParser.Expected(
> > FormulaParser.java:124)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.GetNum(FormulaParser.java
> > :239)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> > :479)
> >        at
>
org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> > :548)
> >        at
> org.apache.poi.hssf.model.FormulaParser.Expression(
> > FormulaParser.java:596)
> >        at
> org.apache.poi.hssf.model.FormulaParser.Arguments(
> > FormulaParser.java:453)
> >        at
> org.apache.poi.hssf.model.FormulaParser.function(
> > FormulaParser.java:315)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
> > :265)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> > :474)
> >        at
>
org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> > :548)
> >        at
> org.apache.poi.hssf.model.FormulaParser.Expression(
> > FormulaParser.java:596)
> >        at
> org.apache.poi.hssf.model.FormulaParser.Arguments(
> > FormulaParser.java:443)
> >        at
> org.apache.poi.hssf.model.FormulaParser.function(
> > FormulaParser.java:315)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
> > :265)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> > :474)
> >        at
>
org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> > :548)
> >        at
> org.apache.poi.hssf.model.FormulaParser.Expression(
> > FormulaParser.java:596)
> >        at 
> >
>
org.apache.poi.hssf.model.FormulaParser.parse(FormulaParser.java
> > :700)
> >        at
>
org.apache.poi.hssf.usermodel.HSSFCell.setCellFormula(
> > HSSFCell.java:678)
> >        at pretest.Main.main(Main.java:66)
> >
> > Why and i can solve it?....thanks
> >
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> poi-user-unsubscribe@jakarta.apache.org
> Mailing List:    
> http://jakarta.apache.org/site/mail2.html#poi
> The Apache Jakarta Poi Project: 
> http://jakarta.apache.org/poi/
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


Re: formula problem

Posted by Sebastian Frehmel <uh...@stud.uni-karlsruhe.de>.
I would say you don't have an else-statement in your IFs. If "IF" 
evaluates to false, the element in the "SUM" list ist undefined or 
something. That's why you get "Integer expected".

don_salieri schrieb:
> Hi friends,
> i have a problem, if i create this formula into one cell:
>
>        String somma =
> "SUM(IF(A1=\"T\";B2+1;);IF(A2=\"T\";B2+1;);IF(A3=\"T\";B2+1;))";
>        row.createCell((short)0).setCellFormula(somma);
>
>
> when i run the program i obtain this exception:
>
> Exception in thread "main" java.lang.RuntimeException: Cannot Parse, 
> sorry :
> Integer Expected
>        at 
> org.apache.poi.hssf.model.FormulaParser.Abort(FormulaParser.java
> :117)
>        at org.apache.poi.hssf.model.FormulaParser.Expected(
> FormulaParser.java:124)
>        at 
> org.apache.poi.hssf.model.FormulaParser.GetNum(FormulaParser.java
> :239)
>        at 
> org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> :479)
>        at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> :548)
>        at org.apache.poi.hssf.model.FormulaParser.Expression(
> FormulaParser.java:596)
>        at org.apache.poi.hssf.model.FormulaParser.Arguments(
> FormulaParser.java:453)
>        at org.apache.poi.hssf.model.FormulaParser.function(
> FormulaParser.java:315)
>        at 
> org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
> :265)
>        at 
> org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> :474)
>        at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> :548)
>        at org.apache.poi.hssf.model.FormulaParser.Expression(
> FormulaParser.java:596)
>        at org.apache.poi.hssf.model.FormulaParser.Arguments(
> FormulaParser.java:443)
>        at org.apache.poi.hssf.model.FormulaParser.function(
> FormulaParser.java:315)
>        at 
> org.apache.poi.hssf.model.FormulaParser.Ident(FormulaParser.java
> :265)
>        at 
> org.apache.poi.hssf.model.FormulaParser.Factor(FormulaParser.java
> :474)
>        at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java
> :548)
>        at org.apache.poi.hssf.model.FormulaParser.Expression(
> FormulaParser.java:596)
>        at 
> org.apache.poi.hssf.model.FormulaParser.parse(FormulaParser.java
> :700)
>        at org.apache.poi.hssf.usermodel.HSSFCell.setCellFormula(
> HSSFCell.java:678)
>        at pretest.Main.main(Main.java:66)
>
> Why and i can solve it?....thanks
>


---------------------------------------------------------------------
To unsubscribe, e-mail: poi-user-unsubscribe@jakarta.apache.org
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/