Author: nick Date: Fri Jul 31 22:48:51 2015 New Revision: 1693665 URL: http://svn.apache.org/r1693665 Log: Update formula docs
Modified: poi/site/publish/spreadsheet/eval.html poi/site/publish/spreadsheet/formula.html poi/site/src/documentation/content/xdocs/spreadsheet/eval.xml poi/site/src/documentation/content/xdocs/spreadsheet/formula.xml Modified: poi/site/publish/spreadsheet/eval.html URL: http://svn.apache.org/viewvc/poi/site/publish/spreadsheet/eval.html?rev=1693665&r1=1693664&r2=1693665&view=diff ============================================================================== --- poi/site/publish/spreadsheet/eval.html (original) +++ poi/site/publish/spreadsheet/eval.html Fri Jul 31 22:48:51 2015 @@ -645,6 +645,32 @@ mainWorkbookEvaluator.evaluateAll(); The used log levels are WARN and INFO (for detailed parameter info and results) - the level are so high to allow this special logging without beeing disturbed by the bunch of DEBUG log entries from other classes.</p> + + +<a name="sxssf"></a> + <a name="Formula+Evaluation+and+SXSSF"></a> +<div class="h3"> +<h3>Formula Evaluation and SXSSF</h3> +</div> + +<p>For versions before 3.13 beta 2, no formula evaluation is possible with + SXSSF.</p> + +<p>If using POI 3.13 beta 2 or newer, formula evaluation is possible with SXSSF, + but with some caveats.</p> + +<p>The biggest restriction is that, since evaluating a cell needs that cell in memory + and any others it depends on, only pure-function formulas and formulas referencing + nearby cells can be evaluated with SXSSF. If a formula references a cell that hasn't + yet been written, or one which has already been flushed to disk, then it won't be + possible to evaluate it.</p> + +<p>Because of this, a call to <em>wb.getCreationHelper().createFormulaEvaluator().evaluateAll();</em> + will very rarely work on SXSSF, as it's very rare that all the cells wil be available + and in memory at any time! Instead, it is suggested to evaluate formula cells just + after writing them, or shortly after when cells they depend on are added. Just make + sure that all cells needing or needed for evaluation are inside the window.</p> + </div> Modified: poi/site/publish/spreadsheet/formula.html URL: http://svn.apache.org/viewvc/poi/site/publish/spreadsheet/formula.html?rev=1693665&r1=1693664&r2=1693665&view=diff ============================================================================== --- poi/site/publish/spreadsheet/formula.html (original) +++ poi/site/publish/spreadsheet/formula.html Fri Jul 31 22:48:51 2015 @@ -190,9 +190,9 @@ if (VERSION > 3) { <p> This document describes the current state of formula support in POI. - The information in this document currently applies to the 3.11 version of POI. - Since this area is a work in progress, this document will be updated with new features as and - when they are added. + The information in this document currently applies to the 3.13 version of POI. + Since this area is a work in progress, this document will be updated with new + features as and when they are added. </p> @@ -201,22 +201,26 @@ if (VERSION > 3) { <div class="h3"> <h3>The basics</h3> </div> - + <p> In org.apache.poi.ss.usermodel.Cell - <strong> setCellFormula("formulaString") </strong> is used to add a formula to a sheet and - <strong> getCellFormula() </strong> is used to retrieve the string representation of a formula. - </p> + <strong> setCellFormula("formulaString") </strong> is used to add a + formula to a sheet, and <strong> getCellFormula() </strong> is used to retrieve + the string representation of a formula. + </p> <p> - We aim to support the complete excel grammar for formulas. Thus, the string that you pass in - to the <em> setCellFormula </em> call should be what you expect to type into excel. Also, note - that you should NOT add a "=" to the front of the string. + We aim to support the complete excel grammar for formulas. Thus, the string that + you pass in to the <em> setCellFormula </em> call should be what you expect to + type into excel. Also, note that you should NOT add a "=" to the front of the string. </p> <p> - Please note that localized versions of Excel allow to enter localized function-names. However internally - Excel stores the English names and thus POI only supports these and not the localized ones. + Please note that localized versions of Excel allow to enter localized + function-names. However internally Excel stores the English names and thus POI + only supports these and not the localized ones. Also note that only commas may be + used to separate arguments, as per the Excel English style, alternate delimeters + used in other localizations are not supported. </p> @@ -261,6 +265,26 @@ if (VERSION > 3) { +<a name="Supported+Functions"></a> +<div class="h3"> +<h3>Supported Functions</h3> +</div> + +<p>To get the list of formula functions that POI supports, you need to + call some code!</p> + +<p>The methods you need are available on + <a href="../apidocs/org/apache/poi/ss/formula/eval/FunctionEval.html">org.apache.poi.ss.formula.eval.FunctionEval</a>. + To find which functions your copy of Apache POI supports, use + <a href="../apidocs/org/apache/poi/ss/formula/eval/FunctionEval.html#getSupportedFunctionNames()">getSupportedFunctionNames()</a> + to get a list of the implemented function names. For the list of functions that + POI knows the name of, but doesn't currently implement, use + <a href="../apidocs/org/apache/poi/ss/formula/eval/FunctionEval.html#getNotSupportedFunctionNames()">getNotSupportedFunctionNames()</a> + +</p> + + + <a name="Internals"></a> <div class="h3"> <h3>Internals</h3> Modified: poi/site/src/documentation/content/xdocs/spreadsheet/eval.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/spreadsheet/eval.xml?rev=1693665&r1=1693664&r2=1693665&view=diff ============================================================================== --- poi/site/src/documentation/content/xdocs/spreadsheet/eval.xml (original) +++ poi/site/src/documentation/content/xdocs/spreadsheet/eval.xml Fri Jul 31 22:48:51 2015 @@ -393,5 +393,23 @@ mainWorkbookEvaluator.evaluateAll(); The used log levels are WARN and INFO (for detailed parameter info and results) - the level are so high to allow this special logging without beeing disturbed by the bunch of DEBUG log entries from other classes.</p> </section> + + <anchor id="sxssf"/> + <section><title>Formula Evaluation and SXSSF</title> + <p>For versions before 3.13 beta 2, no formula evaluation is possible with + SXSSF.</p> + <p>If using POI 3.13 beta 2 or newer, formula evaluation is possible with SXSSF, + but with some caveats.</p> + <p>The biggest restriction is that, since evaluating a cell needs that cell in memory + and any others it depends on, only pure-function formulas and formulas referencing + nearby cells can be evaluated with SXSSF. If a formula references a cell that hasn't + yet been written, or one which has already been flushed to disk, then it won't be + possible to evaluate it.</p> + <p>Because of this, a call to <em>wb.getCreationHelper().createFormulaEvaluator().evaluateAll();</em> + will very rarely work on SXSSF, as it's very rare that all the cells wil be available + and in memory at any time! Instead, it is suggested to evaluate formula cells just + after writing them, or shortly after when cells they depend on are added. Just make + sure that all cells needing or needed for evaluation are inside the window.</p> + </section> </body> </document> Modified: poi/site/src/documentation/content/xdocs/spreadsheet/formula.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/spreadsheet/formula.xml?rev=1693665&r1=1693664&r2=1693665&view=diff ============================================================================== --- poi/site/src/documentation/content/xdocs/spreadsheet/formula.xml (original) +++ poi/site/src/documentation/content/xdocs/spreadsheet/formula.xml Fri Jul 31 22:48:51 2015 @@ -30,26 +30,30 @@ <section><title>Introduction</title> <p> This document describes the current state of formula support in POI. - The information in this document currently applies to the 3.11 version of POI. - Since this area is a work in progress, this document will be updated with new features as and - when they are added. + The information in this document currently applies to the 3.13 version of POI. + Since this area is a work in progress, this document will be updated with new + features as and when they are added. </p> </section> <section><title>The basics</title> - <p> + <p> In org.apache.poi.ss.usermodel.Cell - <strong> setCellFormula("formulaString") </strong> is used to add a formula to a sheet and - <strong> getCellFormula() </strong> is used to retrieve the string representation of a formula. - </p> + <strong> setCellFormula("formulaString") </strong> is used to add a + formula to a sheet, and <strong> getCellFormula() </strong> is used to retrieve + the string representation of a formula. + </p> <p> - We aim to support the complete excel grammar for formulas. Thus, the string that you pass in - to the <em> setCellFormula </em> call should be what you expect to type into excel. Also, note - that you should NOT add a "=" to the front of the string. + We aim to support the complete excel grammar for formulas. Thus, the string that + you pass in to the <em> setCellFormula </em> call should be what you expect to + type into excel. Also, note that you should NOT add a "=" to the front of the string. </p> <p> - Please note that localized versions of Excel allow to enter localized function-names. However internally - Excel stores the English names and thus POI only supports these and not the localized ones. + Please note that localized versions of Excel allow to enter localized + function-names. However internally Excel stores the English names and thus POI + only supports these and not the localized ones. Also note that only commas may be + used to separate arguments, as per the Excel English style, alternate delimeters + used in other localizations are not supported. </p> </section> <section><title>Supported Features</title> @@ -71,6 +75,19 @@ </ul> </section> + <section><title>Supported Functions</title> + <p>To get the list of formula functions that POI supports, you need to + call some code!</p> + <p>The methods you need are available on + <link href="../apidocs/org/apache/poi/ss/formula/eval/FunctionEval.html">org.apache.poi.ss.formula.eval.FunctionEval</link>. + To find which functions your copy of Apache POI supports, use + <link href="../apidocs/org/apache/poi/ss/formula/eval/FunctionEval.html#getSupportedFunctionNames()">getSupportedFunctionNames()</link> + to get a list of the implemented function names. For the list of functions that + POI knows the name of, but doesn't currently implement, use + <link href="../apidocs/org/apache/poi/ss/formula/eval/FunctionEval.html#getNotSupportedFunctionNames()">getNotSupportedFunctionNames()</link> + </p> + </section> + <section><title>Internals</title> <p> Formulas in Excel are stored as sequences of tokens in Reverse Polish Notation order. The --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org