A few words about this patch, since its substantial, and kept me guessing for a 
long time. 

This finally implements reading for tFunc - the token for functions with fixed 
arguments. Since this ptg goes not contain the number of arguments in itself, 
any analysing program needs to keep internal info about number of args for each 
such function , since you cant do RPN evaluation without that info (i think :)

However, as with most other formula stuff, its not documented which function 
are fixed arg types, and what the number of args could be. 

I have thus implemented this for formula index upto 78, i'll do the others 
next. 

Another problem .. some sheet functions are remnants of Excel4, as in they are 
actually macro functions that dont mean much these days.. eg GOTO or HALT. In 
fact, i cant seem to even type in these functions on a cell .. so dunno what to 
do whith those. 

Attached is a spreadsheet i am using to automate the discovery of the above 
information. Will check it in somewhere soon.. it should probably also end up 
in OO docs when its more complete. 

Regards
-
avik

PS i have documented my thoughts on UnknownPtg on the bug. 

PPS: guess what - Excel also uses Ptg 0, even tho its documented as "Not Used"!

Quoting [EMAIL PROTECTED]:

> avik        2002/06/11 13:18:29
> 
>   Modified:    src/java/org/apache/poi/hssf/dev FormulaViewer.java
>                src/java/org/apache/poi/hssf/record FormulaRecord.java
>                src/java/org/apache/poi/hssf/record/formula AreaPtg.java
>                         AttrPtg.java FormulaParser.java Ptg.java
>   Added:       src/java/org/apache/poi/hssf/record/formula
>                         AbstractFunctionPtg.java FuncPtg.java
>                         FuncVarPtg.java MissingArgPtg.java
>   Removed:     src/java/org/apache/poi/hssf/util ReferenceUtil.java
>   Log:
>   More formula enhancements, particularly for fixed args tFunc 0x21/41/61.
> Also try not to bomb on unknown Ptg
>   

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to