javadoc: replace invalid self enclosing elements
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1802110 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9b3812d027
commit
810d03f499
@ -140,15 +140,15 @@ public final class HSSFReadWrite {
|
||||
* Method main
|
||||
*
|
||||
* Given 1 argument takes that as the filename, inputs it and dumps the
|
||||
* cell values/types out to sys.out.<br/>
|
||||
* cell values/types out to sys.out.<br>
|
||||
*
|
||||
* given 2 arguments where the second argument is the word "write" and the
|
||||
* first is the filename - writes out a sample (test) spreadsheet
|
||||
* see {@link HSSFReadWrite#testCreateSampleSheet(String)}.<br/>
|
||||
* see {@link HSSFReadWrite#testCreateSampleSheet(String)}.<br>
|
||||
*
|
||||
* given 2 arguments where the first is an input filename and the second
|
||||
* an output filename (not write), attempts to fully read in the
|
||||
* spreadsheet and fully write it out.<br/>
|
||||
* spreadsheet and fully write it out.<br>
|
||||
*
|
||||
* given 3 arguments where the first is an input filename and the second an
|
||||
* output filename (not write) and the third is "modify1", attempts to read in the
|
||||
|
@ -64,11 +64,11 @@ public class SVSheetTable extends JTable {
|
||||
/**
|
||||
* This field is the magic number to convert from a Character width to a java
|
||||
* pixel width.
|
||||
* <p/>
|
||||
* <p>
|
||||
* When the "normal" font size in a workbook changes, this effects all of the
|
||||
* heights and widths. Unfortunately there is no way to retrieve this
|
||||
* information, hence the MAGIC number.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This number may only work for the normal style font size of Arial size 10.
|
||||
*/
|
||||
private static final int magicCharFactor = 7;
|
||||
|
@ -29,7 +29,7 @@ import java.util.List;
|
||||
* initial paint of the component, and then executed at the appropriate time,
|
||||
* such as at the end of the containing object's {@link
|
||||
* JComponent#paintChildren(Graphics)} method.
|
||||
* <p/>
|
||||
* <p>
|
||||
* It is up to the parent component to invoke the {@link #paint(Graphics2D)}
|
||||
* method of this objet at that appropriate time.
|
||||
*
|
||||
@ -153,7 +153,7 @@ public class PendingPaintings {
|
||||
* is retrieved from the first object found that has a {@link
|
||||
* #PENDING_PAINTINGS} client property, starting with this component and
|
||||
* looking up its ancestors (parent, parent's parent, etc.)
|
||||
* <p/>
|
||||
* <p>
|
||||
* This allows any descendant of a component that has a {@link
|
||||
* PendingPaintings} property to add its own pending paintings.
|
||||
*
|
||||
|
@ -46,7 +46,7 @@ import org.xml.sax.XMLReader;
|
||||
* org.apache.poi.hssf.eventusermodel.examples.
|
||||
* As with the HSSF version, this tries to spot missing
|
||||
* rows and cells, and output empty entries for them.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Data sheets are read using a SAX parser to keep the
|
||||
* memory footprint relatively small, so this should be
|
||||
* able to read enormous workbooks. The styles table and
|
||||
@ -55,7 +55,7 @@ import org.xml.sax.XMLReader;
|
||||
* (read-only) class is used for the shared string table
|
||||
* because the standard POI SharedStringsTable grows very
|
||||
* quickly with the number of unique strings.
|
||||
* <p/>
|
||||
* <p>
|
||||
* For a more advanced implementation of SAX event parsing
|
||||
* of XLSX files, see {@link XSSFEventBasedExcelExtractor}
|
||||
* and {@link XSSFSheetXMLHandler}. Note that for many cases,
|
||||
|
@ -144,14 +144,14 @@ public class UpdateEmbeddedDoc {
|
||||
* Called to test whether or not the embedded workbook was correctly
|
||||
* updated. This method simply recovers the first cell from the first row
|
||||
* of the first workbook and tests the value it contains.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that execution will not continue up to the assertion as the
|
||||
* embedded workbook is now corrupted and causes an IllegalArgumentException
|
||||
* with the following message
|
||||
* <p/>
|
||||
* <p>
|
||||
* <em>java.lang.IllegalArgumentException: Your InputStream was neither an
|
||||
* OLE2 stream, nor an OOXML stream</em>
|
||||
* <p/>
|
||||
* <p>
|
||||
* to be thrown when the WorkbookFactory.createWorkbook(InputStream) method
|
||||
* is executed.
|
||||
*
|
||||
|
@ -37,7 +37,7 @@ import org.apache.tools.ant.ProjectHelper;
|
||||
/**
|
||||
* A BuildFileTest is a TestCase which executes targets from an Ant buildfile
|
||||
* for testing.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This class provides a number of utility methods for particular build file
|
||||
* tests which extend this class.
|
||||
*
|
||||
@ -73,7 +73,7 @@ public abstract class BuildFileTest extends TestCase {
|
||||
/**
|
||||
* Automatically calls the target called "tearDown"
|
||||
* from the build file tested if it exits.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This allows to use Ant tasks directly in the build file
|
||||
* to clean up after each test. Note that no "setUp" target
|
||||
* is automatically called, since it's trivial to have a
|
||||
@ -215,7 +215,7 @@ public abstract class BuildFileTest extends TestCase {
|
||||
|
||||
/**
|
||||
* Gets the log the BuildFileTest object.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Only valid if configureProject() has been called.
|
||||
*
|
||||
* @return The log value
|
||||
|
@ -75,7 +75,7 @@ public final class InternalSheet {
|
||||
private PageSettingsBlock _psBlock;
|
||||
|
||||
/**
|
||||
* 'Worksheet Protection Block'<br/>
|
||||
* 'Worksheet Protection Block'<br>
|
||||
* Aggregate object is always present, but possibly empty.
|
||||
*/
|
||||
private final WorksheetProtectionBlock _protectionBlock = new WorksheetProtectionBlock();
|
||||
|
@ -40,21 +40,21 @@ import org.apache.poi.ss.formula.ptg.Ref3DPtg;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
|
||||
/**
|
||||
* Link Table (OOO pdf reference: 4.10.3 ) <p/>
|
||||
* Link Table (OOO pdf reference: 4.10.3 ) <p>
|
||||
*
|
||||
* The main data of all types of references is stored in the Link Table inside the Workbook Globals
|
||||
* Substream (4.2.5). The Link Table itself is optional and occurs only if there are any
|
||||
* references in the document.
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
* In BIFF8 the Link Table consists of
|
||||
* <ul>
|
||||
* <li>zero or more EXTERNALBOOK Blocks<p/>
|
||||
* <li>zero or more EXTERNALBOOK Blocks<p>
|
||||
* each consisting of
|
||||
* <ul>
|
||||
* <li>exactly one EXTERNALBOOK (0x01AE) record</li>
|
||||
* <li>zero or more EXTERNALNAME (0x0023) records</li>
|
||||
* <li>zero or more CRN Blocks<p/>
|
||||
* <li>zero or more CRN Blocks<p>
|
||||
* each consisting of
|
||||
* <ul>
|
||||
* <li>exactly one XCT (0x0059)record</li>
|
||||
|
@ -74,7 +74,7 @@ import org.apache.poi.hssf.record.aggregates.WorksheetProtectionBlock;
|
||||
import org.apache.poi.hssf.record.pivottable.ViewDefinitionRecord;
|
||||
|
||||
/**
|
||||
* Finds correct insert positions for records in workbook streams<p/>
|
||||
* Finds correct insert positions for records in workbook streams<p>
|
||||
*
|
||||
* See OOO excelfileformat.pdf sec. 4.2.5 'Record Order in a BIFF8 Workbook Stream'
|
||||
*/
|
||||
|
@ -91,12 +91,12 @@ public class DConRefRecord extends StandardRecord
|
||||
/**
|
||||
* The link's path string. This is the <code>rgb</code> field of a
|
||||
* <code>XLUnicodeStringNoCch</code>. Therefore it will contain at least one leading special
|
||||
* character (0x01 or 0x02) and probably other ones.<p/>
|
||||
* character (0x01 or 0x02) and probably other ones.<p>
|
||||
* @see <A href="http://msdn.microsoft.com/en-us/library/dd923491(office.12).aspx">
|
||||
* DConFile [MS-XLS s. 2.5.77]</A> and
|
||||
* <A href="http://msdn.microsoft.com/en-us/library/dd950157(office.12).aspx">
|
||||
* VirtualPath [MS-XLS s. 2.5.69]</a>
|
||||
* <p/>
|
||||
* <p>
|
||||
*/
|
||||
private byte[] path;
|
||||
/**
|
||||
|
@ -47,7 +47,7 @@ public final class ExternalNameRecord extends StandardRecord {
|
||||
|
||||
/**
|
||||
* 'rgoper' / 'Last received results of the DDE link'
|
||||
* (seems to be only applicable to DDE links)<br/>
|
||||
* (seems to be only applicable to DDE links)<br>
|
||||
* Logically this is a 2-D array, which has been flattened into 1-D array here.
|
||||
*/
|
||||
private Object[] _ddeValues;
|
||||
|
@ -142,9 +142,9 @@ public final class HyperlinkRecord extends StandardRecord implements Cloneable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Read a GUID in standard text form e.g.<br/>
|
||||
* Read a GUID in standard text form e.g.<br>
|
||||
* 13579BDF-0246-8ACE-0123-456789ABCDEF
|
||||
* <br/> -> <br/>
|
||||
* <br> -> <br>
|
||||
* 0x13579BDF, 0x0246, 0x8ACE 0x0123456789ABCDEF
|
||||
*/
|
||||
public static GUID parse(String rep) {
|
||||
@ -240,7 +240,7 @@ public final class HyperlinkRecord extends StandardRecord implements Cloneable {
|
||||
private String _address;
|
||||
/**
|
||||
* Text describing a place in document. In Excel UI, this is appended to the
|
||||
* address, (after a '#' delimiter).<br/>
|
||||
* address, (after a '#' delimiter).<br>
|
||||
* This field is optional. If present, the {@link #HLINK_PLACE} must be set.
|
||||
*/
|
||||
private String _textMark;
|
||||
|
@ -47,7 +47,7 @@ public final class NoteRecord extends StandardRecord implements Cloneable {
|
||||
private boolean field_5_hasMultibyte;
|
||||
private String field_6_author;
|
||||
/**
|
||||
* Saves padding byte value to reduce delta during round-trip serialization.<br/>
|
||||
* Saves padding byte value to reduce delta during round-trip serialization.<br>
|
||||
*
|
||||
* The documentation is not clear about how padding should work. In any case
|
||||
* Excel(2007) does something different.
|
||||
|
@ -136,7 +136,7 @@ public final class RecordFactory {
|
||||
private static final Class<?>[] CONSTRUCTOR_ARGS = { RecordInputStream.class, };
|
||||
|
||||
/**
|
||||
* contains the classes for all the records we want to parse.<br/>
|
||||
* contains the classes for all the records we want to parse.<br>
|
||||
* Note - this most but not *every* subclass of Record.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
|
@ -85,11 +85,11 @@ public final class FormulaRecordAggregate extends RecordAggregate implements Cel
|
||||
* the {@link Ptg} tokens for the formula. However as it turns out in these
|
||||
* cases, Excel encodes the unshared {@link Ptg} tokens in the right place (inside the {@link
|
||||
* FormulaRecord}). So the the only thing that needs to be done is to ignore the erroneous
|
||||
* shared formula flag.<br/>
|
||||
* shared formula flag.<br>
|
||||
*
|
||||
* This method may also be used for setting breakpoints to help diagnose issues regarding the
|
||||
* abnormally-set 'shared formula' flags.
|
||||
* (see TestValueRecordsAggregate.testSpuriousSharedFormulaFlag()).<p/>
|
||||
* (see TestValueRecordsAggregate.testSpuriousSharedFormulaFlag()).<p>
|
||||
*/
|
||||
private static void handleMissingSharedFormulaRecord(FormulaRecord formula) {
|
||||
// make sure 'unshared' formula is actually available
|
||||
|
@ -42,7 +42,7 @@ public final class PageSettingsBlock extends RecordAggregate {
|
||||
private static final ContinueRecord[] EMPTY_CONTINUE_RECORD_ARRAY = { };
|
||||
private final Record _pls;
|
||||
/**
|
||||
* holds any continue records found after the PLS record.<br/>
|
||||
* holds any continue records found after the PLS record.<br>
|
||||
* This would not be required if PLS was properly interpreted.
|
||||
* Currently, PLS is an {@link UnknownRecord} and does not automatically
|
||||
* include any trailing {@link ContinueRecord}s.
|
||||
|
@ -166,7 +166,7 @@ public final class RowRecordsAggregate extends RecordAggregate {
|
||||
}
|
||||
|
||||
/** Returns the number of row blocks.
|
||||
* <p/>The row blocks are goupings of rows that contain the DBCell record
|
||||
* <p>The row blocks are goupings of rows that contain the DBCell record
|
||||
* after them
|
||||
*/
|
||||
public int getRowBlockCount() {
|
||||
|
@ -28,7 +28,7 @@ import org.apache.poi.util.RecordFormatException;
|
||||
|
||||
/**
|
||||
* Groups the sheet protection records for a worksheet.
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
* See OOO excelfileformat.pdf sec 4.18.2 'Sheet Protection in a Workbook
|
||||
* (BIFF5-BIFF8)'
|
||||
@ -124,14 +124,14 @@ public final class WorksheetProtectionBlock extends RecordAggregate {
|
||||
* This method reads {@link WorksheetProtectionBlock} records from the supplied RecordStream
|
||||
* until the first non-WorksheetProtectionBlock record is encountered. As each record is read,
|
||||
* it is incorporated into this WorksheetProtectionBlock.
|
||||
* <p/>
|
||||
* <p>
|
||||
* As per the OOO documentation, the protection block records can be expected to be written
|
||||
* together (with no intervening records), but earlier versions of POI (prior to Jun 2009)
|
||||
* didn't do this. Workbooks with sheet protection created by those earlier POI versions
|
||||
* seemed to be valid (Excel opens them OK). So PO allows continues to support reading of files
|
||||
* with non continuous worksheet protection blocks.
|
||||
*
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Note</b> - when POI writes out this WorksheetProtectionBlock, the records will always be
|
||||
* written in one consolidated block (in the standard ordering) regardless of how scattered the
|
||||
* records were when they were originally read.
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The area format record is used to define the colours and patterns for an area.<p/>
|
||||
* The area format record is used to define the colours and patterns for an area.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The area record is used to define a area chart.<p/>
|
||||
* The area record is used to define a area chart.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The axis line format record defines the axis type details.<p/>
|
||||
* The axis line format record defines the axis type details.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The axis options record provides unit information and other various tidbits about the axis.<p/>
|
||||
* The axis options record provides unit information and other various tidbits about the axis.<p>
|
||||
*
|
||||
* @author Andrew C. Oliver(acoliver at apache.org)
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The axis size and location<p/>
|
||||
* The axis size and location<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The axis record defines the type of an axis.<p/>
|
||||
* The axis record defines the type of an axis.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The number of axes used on a chart.<p/>
|
||||
* The number of axes used on a chart.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The bar record is used to define a bar chart.<p/>
|
||||
* The bar record is used to define a bar chart.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* CATLAB - Category Labels (0x0856)<br/>
|
||||
* CATLAB - Category Labels (0x0856)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* This record refers to a category or series axis and is used to specify label/tickmark frequency.<p/>
|
||||
* This record refers to a category or series axis and is used to specify label/tickmark frequency.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* ENDBLOCK - Chart Future Record Type End Block (0x0853)<br/>
|
||||
* ENDBLOCK - Chart Future Record Type End Block (0x0853)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The font index record indexes into the font table for the text record.<p/>
|
||||
* The font index record indexes into the font table for the text record.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The series label record defines the type of label associated with the data format record.<p/>
|
||||
* The series label record defines the type of label associated with the data format record.<p>
|
||||
*
|
||||
* @author Glen Stampoultzis (glens at apache.org)
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* The Tick record defines how tick marks and label positioning/formatting<p/>
|
||||
* The Tick record defines how tick marks and label positioning/formatting<p>
|
||||
*
|
||||
* @author Andrew C. Oliver(acoliver at apache.org)
|
||||
*/
|
||||
|
@ -35,11 +35,11 @@ import org.apache.poi.util.POILogger;
|
||||
import org.apache.poi.util.StringUtil;
|
||||
|
||||
/**
|
||||
* Title: Unicode String<p/>
|
||||
* Title: Unicode String<p>
|
||||
* Description: Unicode String - just standard fields that are in several records.
|
||||
* It is considered more desirable then repeating it in all of them.<p/>
|
||||
* This is often called a XLUnicodeRichExtendedString in MS documentation.<p/>
|
||||
* REFERENCE: PG 264 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/>
|
||||
* It is considered more desirable then repeating it in all of them.<p>
|
||||
* This is often called a XLUnicodeRichExtendedString in MS documentation.<p>
|
||||
* REFERENCE: PG 264 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p>
|
||||
* REFERENCE: PG 951 Excel Binary File Format (.xls) Structure Specification v20091214
|
||||
*/
|
||||
public class UnicodeString implements Comparable<UnicodeString> {
|
||||
|
@ -65,7 +65,7 @@ final class UnknownLengthRecordOutput implements LittleEndianOutput {
|
||||
return MAX_DATA_SIZE - _size;
|
||||
}
|
||||
/**
|
||||
* Finishes writing the current record and updates 'ushort size' field.<br/>
|
||||
* Finishes writing the current record and updates 'ushort size' field.<br>
|
||||
* After this method is called, only {@link #getTotalSize()} may be called.
|
||||
*/
|
||||
public void terminate() {
|
||||
|
@ -24,7 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
|
||||
import org.apache.poi.util.StringUtil;
|
||||
|
||||
/**
|
||||
* SXDI - Data Item (0x00C5)<br/>
|
||||
* SXDI - Data Item (0x00C5)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.util.RecordFormatException;
|
||||
import org.apache.poi.util.StringUtil;
|
||||
|
||||
/**
|
||||
* SXVDEX - Extended PivotTable View Fields (0x0100)<br/>
|
||||
* SXVDEX - Extended PivotTable View Fields (0x0100)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -24,7 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
|
||||
import org.apache.poi.util.RecordFormatException;
|
||||
|
||||
/**
|
||||
* SXPI - Page Item (0x00B6)<br/>
|
||||
* SXPI - Page Item (0x00B6)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* SXIDSTM - Stream ID (0x00D5)<br/>
|
||||
* SXIDSTM - Stream ID (0x00D5)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -24,7 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
|
||||
import org.apache.poi.util.StringUtil;
|
||||
|
||||
/**
|
||||
* SXVIEW - View Definition (0x00B0)<br/>
|
||||
* SXVIEW - View Definition (0x00B0)<br>
|
||||
*/
|
||||
public final class ViewDefinitionRecord extends StandardRecord {
|
||||
public static final short sid = 0x00B0;
|
||||
|
@ -24,7 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
|
||||
import org.apache.poi.util.StringUtil;
|
||||
|
||||
/**
|
||||
* SXVD - View Fields (0x00B1)<br/>
|
||||
* SXVD - View Fields (0x00B1)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ import org.apache.poi.util.HexDump;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* SXVS - View Source (0x00E3)<br/>
|
||||
* SXVS - View Source (0x00E3)<br>
|
||||
*
|
||||
* @author Patrick Cheng
|
||||
*/
|
||||
|
@ -806,7 +806,7 @@ public class HSSFCell implements Cell {
|
||||
|
||||
|
||||
/**
|
||||
* Chooses a new boolean value for the cell when its type is changing.<p/>
|
||||
* Chooses a new boolean value for the cell when its type is changing.<p>
|
||||
*
|
||||
* Usually the caller is calling setCellType() with the intention of calling
|
||||
* setCellValue(boolean) straight afterwards. This method only exists to give
|
||||
|
@ -28,10 +28,10 @@ import org.apache.poi.ss.usermodel.BuiltinFormats;
|
||||
import org.apache.poi.ss.usermodel.DataFormat;
|
||||
|
||||
/**
|
||||
* Identifies both built-in and user defined formats within a workbook.<p/>
|
||||
* See {@link BuiltinFormats} for a list of supported built-in formats.<p/>
|
||||
* Identifies both built-in and user defined formats within a workbook.<p>
|
||||
* See {@link BuiltinFormats} for a list of supported built-in formats.<p>
|
||||
*
|
||||
* <b>International Formats</b><br/>
|
||||
* <b>International Formats</b><br>
|
||||
* Since version 2003 Excel has supported international formats. These are denoted
|
||||
* with a prefix "[$-xxx]" (where xxx is a 1-7 digit hexadecimal number).
|
||||
* See the Microsoft article
|
||||
|
@ -36,7 +36,7 @@ import org.apache.poi.ss.usermodel.RichTextString;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
|
||||
/**
|
||||
* Evaluates formula cells.<p/>
|
||||
* Evaluates formula cells.<p>
|
||||
*
|
||||
* For performance reasons, this class keeps a cache of all previously calculated intermediate
|
||||
* cell values. Be sure to call {@link #clearAllCachedResultValues()} if any workbook cells are changed between
|
||||
|
@ -30,7 +30,7 @@ import org.apache.poi.util.HexDump;
|
||||
|
||||
/**
|
||||
* Represents binary object (i.e. OLE) data stored in the file. Eg. A GIF, JPEG etc...
|
||||
* <p/>
|
||||
* <p>
|
||||
* Right now, 13, july, 2012 can not be created from scratch
|
||||
*/
|
||||
public final class HSSFObjectData extends HSSFPicture implements ObjectData {
|
||||
|
@ -126,9 +126,9 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture {
|
||||
* If the default font is changed the resized image can be streched vertically or horizontally.
|
||||
* </p>
|
||||
* <p>
|
||||
* <code>resize(1.0,1.0)</code> keeps the original size,<br/>
|
||||
* <code>resize(0.5,0.5)</code> resize to 50% of the original,<br/>
|
||||
* <code>resize(2.0,2.0)</code> resizes to 200% of the original.<br/>
|
||||
* <code>resize(1.0,1.0)</code> keeps the original size,<br>
|
||||
* <code>resize(0.5,0.5)</code> resize to 50% of the original,<br>
|
||||
* <code>resize(2.0,2.0)</code> resizes to 200% of the original.<br>
|
||||
* <code>resize({@link Double#MAX_VALUE},{@link Double#MAX_VALUE})</code> resizes to the dimension of the embedded image.
|
||||
* </p>
|
||||
*
|
||||
|
@ -521,7 +521,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet {
|
||||
* <code>
|
||||
* Truncate([numChars*7+5]/7*256)/256 = 8;
|
||||
* </code>
|
||||
* <p/>
|
||||
* <p>
|
||||
* which gives <code>7.29</code>.
|
||||
*
|
||||
* @param columnIndex - the column to set (0-based)
|
||||
|
@ -44,7 +44,7 @@ public final class HSSFSheetConditionalFormatting implements SheetConditionalFor
|
||||
|
||||
/**
|
||||
* A factory method allowing to create a conditional formatting rule
|
||||
* with a cell comparison operator<p/>
|
||||
* with a cell comparison operator<p>
|
||||
* TODO - formulas containing cell references are currently not parsed properly
|
||||
*
|
||||
* @param comparisonOperation - a constant value from
|
||||
@ -83,7 +83,7 @@ public final class HSSFSheetConditionalFormatting implements SheetConditionalFor
|
||||
/**
|
||||
* A factory method allowing to create a conditional formatting rule with a formula.<br>
|
||||
*
|
||||
* The formatting rules are applied by Excel when the value of the formula not equal to 0.<p/>
|
||||
* The formatting rules are applied by Excel when the value of the formula not equal to 0.<p>
|
||||
* TODO - formulas containing cell references are currently not parsed properly
|
||||
* @param formula - formula for the valued, compared with the cell
|
||||
*/
|
||||
|
@ -1061,11 +1061,11 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes sheet at the given index.<p/>
|
||||
* Removes sheet at the given index.<p>
|
||||
*
|
||||
* Care must be taken if the removed sheet is the currently active or only selected sheet in
|
||||
* the workbook. There are a few situations when Excel must have a selection and/or active
|
||||
* sheet. (For example when printing - see Bug 40414).<br/>
|
||||
* sheet. (For example when printing - see Bug 40414).<br>
|
||||
*
|
||||
* This method makes sure that if the removed sheet was active, another sheet will become
|
||||
* active in its place. Furthermore, if the removed sheet was the only selected sheet, another
|
||||
|
@ -26,7 +26,7 @@ import org.apache.poi.ss.SpreadsheetVersion;
|
||||
public final class AreaReference extends org.apache.poi.ss.util.AreaReference {
|
||||
/**
|
||||
* Create an area ref from a string representation. Sheet names containing special characters should be
|
||||
* delimited and escaped as per normal syntax rules for formulas.<br/>
|
||||
* delimited and escaped as per normal syntax rules for formulas.<br>
|
||||
* The area reference must be contiguous (i.e. represent a single rectangle, not a union of rectangles)
|
||||
*/
|
||||
public AreaReference(String reference) {
|
||||
|
@ -22,7 +22,7 @@ import org.apache.poi.util.LittleEndianInput;
|
||||
import org.apache.poi.util.LittleEndianOutput;
|
||||
|
||||
/**
|
||||
* See OOO documentation: excelfileformat.pdf sec 2.5.14 - 'Cell Range Address'<p/>
|
||||
* See OOO documentation: excelfileformat.pdf sec 2.5.14 - 'Cell Range Address'<p>
|
||||
*
|
||||
* Implements a CellRangeAddress with 8-but column fields.
|
||||
*/
|
||||
|
@ -45,7 +45,7 @@ import org.apache.poi.util.StringUtil;
|
||||
@Internal
|
||||
public class CryptoFunctions {
|
||||
/**
|
||||
* <p><cite>2.3.4.7 ECMA-376 Document Encryption Key Generation (Standard Encryption)<br/>
|
||||
* <p><cite>2.3.4.7 ECMA-376 Document Encryption Key Generation (Standard Encryption)<br>
|
||||
* 2.3.4.11 Encryption Key Generation (Agile Encryption)</cite></p>
|
||||
*
|
||||
* <p>The encryption key for ECMA-376 document encryption [ECMA-376] using agile
|
||||
@ -133,9 +133,9 @@ public class CryptoFunctions {
|
||||
* generated by using the following method, where H() is a hash function that MUST be the same as
|
||||
* specified in section 2.3.4.11 and a plus sign (+) represents concatenation:</p>
|
||||
* <ul>
|
||||
* <li>If a blockKey is provided, let IV be a hash of the KeySalt and the following value:<br/>
|
||||
* <li>If a blockKey is provided, let IV be a hash of the KeySalt and the following value:<br>
|
||||
* {@code blockKey: IV = H(KeySalt + blockKey)}</li>
|
||||
* <li>If a blockKey is not provided, let IV be equal to the following value:<br/>
|
||||
* <li>If a blockKey is not provided, let IV be equal to the following value:<br>
|
||||
* {@code KeySalt:IV = KeySalt}</li>
|
||||
* <li>If the number of bytes in the value of IV is less than the the value of the blockSize attribute
|
||||
* corresponding to the cipherAlgorithm attribute, pad the array of bytes by appending 0x36 until
|
||||
|
@ -255,7 +255,7 @@ public class NPOIFSFileSystem extends BlockStore
|
||||
|
||||
/**
|
||||
* Create a POIFSFileSystem from an <tt>InputStream</tt>. Normally the stream is read until
|
||||
* EOF. The stream is always closed.<p/>
|
||||
* EOF. The stream is always closed.<p>
|
||||
*
|
||||
* Some streams are usable after reaching EOF (typically those that return <code>true</code>
|
||||
* for <tt>markSupported()</tt>). In the unlikely case that the caller has such a stream
|
||||
|
@ -96,7 +96,7 @@ public class OPOIFSFileSystem
|
||||
|
||||
/**
|
||||
* Create a OPOIFSFileSystem from an <tt>InputStream</tt>. Normally the stream is read until
|
||||
* EOF. The stream is always closed.<p/>
|
||||
* EOF. The stream is always closed.<p>
|
||||
*
|
||||
* Some streams are usable after reaching EOF (typically those that return <code>true</code>
|
||||
* for <tt>markSupported()</tt>). In the unlikely case that the caller has such a stream
|
||||
|
@ -52,7 +52,7 @@ public class POIFSFileSystem
|
||||
|
||||
/**
|
||||
* Create a POIFSFileSystem from an <tt>InputStream</tt>. Normally the stream is read until
|
||||
* EOF. The stream is always closed.<p/>
|
||||
* EOF. The stream is always closed.<p>
|
||||
*
|
||||
* Some streams are usable after reaching EOF (typically those that return <code>true</code>
|
||||
* for <tt>markSupported()</tt>). In the unlikely case that the caller has such a stream
|
||||
|
@ -45,7 +45,7 @@ public final class BlockAllocationTableReader {
|
||||
|
||||
/**
|
||||
* Maximum number size (in blocks) of the allocation table as supported by
|
||||
* POI.<br/>
|
||||
* POI.<br>
|
||||
*
|
||||
* This constant has been chosen to help POI identify corrupted data in the
|
||||
* header block (rather than crash immediately with {@link OutOfMemoryError}
|
||||
|
@ -20,13 +20,13 @@ package org.apache.poi.poifs.storage;
|
||||
/**
|
||||
* Wraps a <tt>byte</tt> array and provides simple data input access.
|
||||
* Internally, this class maintains a buffer read index, so that for the most part, primitive
|
||||
* data can be read in a data-input-stream-like manner.<p/>
|
||||
* data can be read in a data-input-stream-like manner.<p>
|
||||
*
|
||||
* Note - the calling class should call the {@link #available()} method to detect end-of-buffer
|
||||
* and move to the next data block when the current is exhausted.
|
||||
* For optimisation reasons, no error handling is performed in this class. Thus, mistakes in
|
||||
* calling code ran may raise ugly exceptions here, like {@link ArrayIndexOutOfBoundsException},
|
||||
* etc .<p/>
|
||||
* etc .<p>
|
||||
*
|
||||
* The multi-byte primitive input methods ({@link #readUShortLE()}, {@link #readIntLE()} and
|
||||
* {@link #readLongLE()}) have corresponding 'spanning read' methods which (when required) perform
|
||||
|
@ -222,7 +222,7 @@ public class CellDateFormatter extends CellFormatter {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* <p/>
|
||||
* <p>
|
||||
* For a date, this is <tt>"mm/d/y"</tt>.
|
||||
*/
|
||||
public void simpleValue(StringBuffer toAppendTo, Object value) {
|
||||
|
@ -211,7 +211,7 @@ public class CellElapsedFormatter extends CellFormatter {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* <p/>
|
||||
* <p>
|
||||
* For a date, this is <tt>"mm/d/y"</tt>.
|
||||
*/
|
||||
public void simpleValue(StringBuffer toAppendTo, Object value) {
|
||||
|
@ -43,7 +43,7 @@ import org.apache.poi.util.Removal;
|
||||
* Format a value according to the standard Excel behavior. This "standard" is
|
||||
* not explicitly documented by Microsoft, so the behavior is determined by
|
||||
* experimentation; see the tests.
|
||||
* <p/>
|
||||
* <p>
|
||||
* An Excel format has up to four parts, separated by semicolons. Each part
|
||||
* specifies what to do with particular kinds of values, depending on the number
|
||||
* of parts given:
|
||||
@ -75,12 +75,12 @@ import org.apache.poi.util.Removal;
|
||||
* fourth part (example: text in the cell's usual color, with the text value
|
||||
* surround by brackets).</dd>
|
||||
* </dl>
|
||||
* <p/>
|
||||
* <p>
|
||||
* A given format part may specify a given Locale, by including something
|
||||
* like <tt>[$$-409]</tt> or <tt>[$£-809]</tt> or <tt>[$-40C]</tt>. These
|
||||
* are (currently) largely ignored. You can use {@link DateFormatConverter}
|
||||
* to look these up into Java Locales if desired.
|
||||
* <p/>
|
||||
* <p>
|
||||
* In addition to these, there is a general format that is used when no format
|
||||
* is specified. This formatting is presented by the {@link #GENERAL_FORMAT}
|
||||
* object.
|
||||
|
@ -35,12 +35,12 @@ import static org.apache.poi.ss.format.CellFormatter.quote;
|
||||
* Objects of this class represent a single part of a cell format expression.
|
||||
* Each cell can have up to four of these for positive, zero, negative, and text
|
||||
* values.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Each format part can contain a color, a condition, and will always contain a
|
||||
* format specification. For example <tt>"[Red][>=10]#"</tt> has a color
|
||||
* (<tt>[Red]</tt>), a condition (<tt>>=10</tt>) and a format specification
|
||||
* (<tt>#</tt>).
|
||||
* <p/>
|
||||
* <p>
|
||||
* This class also contains patterns for matching the subparts of format
|
||||
* specification. These are used internally, but are made public in case other
|
||||
* code has use for them.
|
||||
|
@ -583,7 +583,7 @@ public class CellNumberFormatter extends CellFormatter {
|
||||
* the result is the original format, and that starting from that situation,
|
||||
* the indexes of the original special characters can be used to place the new
|
||||
* characters. As just described, this is not true for the exponent's sign.
|
||||
* <p/>
|
||||
* <p>
|
||||
* So here is how we handle it:
|
||||
*
|
||||
* (1) When parsing the format, remove the sign from after the 'e' and put it
|
||||
@ -847,7 +847,7 @@ public class CellNumberFormatter extends CellFormatter {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* <p/>
|
||||
* <p>
|
||||
* For a number, this is <tt>"#"</tt> for integer values, and <tt>"#.#"</tt>
|
||||
* for floating-point values.
|
||||
*/
|
||||
|
@ -74,7 +74,7 @@ public class CellTextFormatter extends CellFormatter {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* <p/>
|
||||
* <p>
|
||||
* For text, this is just printing the text.
|
||||
*/
|
||||
public void simpleValue(StringBuffer toAppendTo, Object value) {
|
||||
|
@ -29,7 +29,7 @@ import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
|
||||
/**
|
||||
* Common functionality across file formats for evaluating formula cells.<p/>
|
||||
* Common functionality across file formats for evaluating formula cells.<p>
|
||||
*/
|
||||
public abstract class BaseFormulaEvaluator implements FormulaEvaluator, WorkbookEvaluatorProvider {
|
||||
protected final WorkbookEvaluator _bookEvaluator;
|
||||
|
@ -26,7 +26,7 @@ import org.apache.poi.ss.formula.eval.ValueEval;
|
||||
import org.apache.poi.ss.formula.IEvaluationListener.ICacheEntry;
|
||||
|
||||
/**
|
||||
* Stores the parameters that identify the evaluation of one cell.<br/>
|
||||
* Stores the parameters that identify the evaluation of one cell.<br>
|
||||
*/
|
||||
abstract class CellCacheEntry implements ICacheEntry {
|
||||
public static final CellCacheEntry[] EMPTY_ARRAY = { };
|
||||
|
@ -23,7 +23,7 @@ import java.util.Set;
|
||||
import org.apache.poi.ss.formula.eval.ValueEval;
|
||||
|
||||
/**
|
||||
* Stores details about the current evaluation of a cell.<br/>
|
||||
* Stores details about the current evaluation of a cell.<br>
|
||||
*/
|
||||
final class CellEvaluationFrame {
|
||||
|
||||
|
@ -36,12 +36,12 @@ import org.apache.poi.ss.util.CellReference;
|
||||
import org.apache.poi.ss.util.SheetUtil;
|
||||
|
||||
/**
|
||||
* Evaluates Conditional Formatting constraints.<p/>
|
||||
* Evaluates Conditional Formatting constraints.<p>
|
||||
*
|
||||
* For performance reasons, this class keeps a cache of all previously evaluated rules and cells.
|
||||
* Be sure to call {@link #clearAllCachedFormats()} if any conditional formats are modified, added, or deleted,
|
||||
* and {@link #clearAllCachedValues()} whenever cell values change.
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
*/
|
||||
public class ConditionalFormattingEvaluator {
|
||||
@ -53,9 +53,9 @@ public class ConditionalFormattingEvaluator {
|
||||
* All the underlying structures, for both HSSF and XSSF, repeatedly go to the raw bytes/XML for the
|
||||
* different pieces used in the ConditionalFormatting* structures. That's highly inefficient,
|
||||
* and can cause significant lag when checking formats for large workbooks.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Instead we need a cached version that is discarded when definitions change.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Sheets don't implement equals, and since its an interface,
|
||||
* there's no guarantee instances won't be recreated on the fly by some implementation.
|
||||
* So we use sheet name.
|
||||
@ -65,9 +65,9 @@ public class ConditionalFormattingEvaluator {
|
||||
/**
|
||||
* Evaluating rules for cells in their region(s) is expensive, so we want to cache them,
|
||||
* and empty/reevaluate the cache when values change.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Rule lists are in priority order, as evaluated by Excel (smallest priority # for XSSF, definition order for HSSF)
|
||||
* <p/>
|
||||
* <p>
|
||||
* CellReference implements equals().
|
||||
*/
|
||||
private final Map<CellReference, List<EvaluationConditionalFormatRule>> values = new HashMap<CellReference, List<EvaluationConditionalFormatRule>>();
|
||||
@ -92,7 +92,7 @@ public class ConditionalFormattingEvaluator {
|
||||
/**
|
||||
* Call this whenever cell values change in the workbook, so condional formats are re-evaluated
|
||||
* for all cells.
|
||||
* <p/>
|
||||
* <p>
|
||||
* TODO: eventually this should work like {@link EvaluationCache#notifyUpdateCell(int, int, EvaluationCell)}
|
||||
* and only clear values that need recalculation based on the formula dependency tree.
|
||||
*/
|
||||
@ -136,10 +136,10 @@ public class ConditionalFormattingEvaluator {
|
||||
* This checks all applicable {@link ConditionalFormattingRule}s for the cell's sheet,
|
||||
* in defined "priority" order, returning the matches if any. This is a property currently
|
||||
* not exposed from <code>CTCfRule</code> in <code>XSSFConditionalFormattingRule</code>.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Most cells will have zero or one applied rule, but it is possible to define multiple rules
|
||||
* that apply at the same time to the same cell, thus the List result.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that to properly apply conditional rules, care must be taken to offset the base
|
||||
* formula by the relative position of the current cell, or the wrong value is checked.
|
||||
* This is handled by {@link WorkbookEvaluator#evaluate(String, CellReference, CellRangeAddressBase)}.
|
||||
@ -171,10 +171,10 @@ public class ConditionalFormattingEvaluator {
|
||||
* This checks all applicable {@link ConditionalFormattingRule}s for the cell's sheet,
|
||||
* in defined "priority" order, returning the matches if any. This is a property currently
|
||||
* not exposed from <code>CTCfRule</code> in <code>XSSFConditionalFormattingRule</code>.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Most cells will have zero or one applied rule, but it is possible to define multiple rules
|
||||
* that apply at the same time to the same cell, thus the List result.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that to properly apply conditional rules, care must be taken to offset the base
|
||||
* formula by the relative position of the current cell, or the wrong value is checked.
|
||||
* This is handled by {@link WorkbookEvaluator#evaluate(String, CellReference, CellRangeAddressBase)}.
|
||||
@ -249,9 +249,9 @@ public class ConditionalFormattingEvaluator {
|
||||
/**
|
||||
* Conditional formatting rules can apply only to cells in the sheet to which they are attached.
|
||||
* The POI data model does not have a back-reference to the owning sheet, so it must be passed in separately.
|
||||
* <p/>
|
||||
* <p>
|
||||
* We could overload this with convenience methods taking a sheet name and sheet index as well.
|
||||
* <p/>
|
||||
* <p>
|
||||
* @param sheet containing the rule
|
||||
* @param conditionalFormattingIndex of the {@link ConditionalFormatting} instance in the sheet's array
|
||||
* @param ruleIndex of the {@link ConditionalFormattingRule} instance within the {@link ConditionalFormatting}
|
||||
|
@ -44,12 +44,12 @@ import org.apache.poi.ss.util.CellReference;
|
||||
import org.apache.poi.ss.util.SheetUtil;
|
||||
|
||||
/**
|
||||
* Evaluates Data Validation constraints.<p/>
|
||||
* Evaluates Data Validation constraints.<p>
|
||||
*
|
||||
* For performance reasons, this class keeps a cache of all previously retrieved {@link DataValidation} instances.
|
||||
* Be sure to call {@link #clearAllCachedValues()} if any workbook validation definitions are
|
||||
* added, modified, or deleted.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Changing cell values should be fine, as long as the corresponding {@link WorkbookEvaluator#clearAllCachedResultValues()}
|
||||
* is called as well.
|
||||
*
|
||||
@ -58,7 +58,7 @@ public class DataValidationEvaluator {
|
||||
|
||||
/**
|
||||
* Expensive to compute, so cache them as they are retrieved.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Sheets don't implement equals, and since its an interface,
|
||||
* there's no guarantee instances won't be recreated on the fly by some implementation.
|
||||
* So we use sheet name.
|
||||
@ -157,10 +157,10 @@ public class DataValidationEvaluator {
|
||||
* If {@link #getValidationForCell(CellReference)} returns an instance, and the
|
||||
* {@link ValidationType} is {@link ValidationType#LIST}, return the valid
|
||||
* values, whether they are from a static list or cell range.
|
||||
* <p/>
|
||||
* <p>
|
||||
* For all other validation types, or no validation at all, this method
|
||||
* returns null.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This method could throw an exception if the validation type is not LIST,
|
||||
* but since this method is mostly useful in UI contexts, null seems the
|
||||
* easier path.
|
||||
@ -214,7 +214,7 @@ public class DataValidationEvaluator {
|
||||
* Use the validation returned by {@link #getValidationForCell(CellReference)} if you
|
||||
* want the error display details. This is the validation checked by this
|
||||
* method, which attempts to replicate Excel's data validation rules.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that to properly apply some validations, care must be taken to
|
||||
* offset the base validation formula by the relative position of the
|
||||
* current cell, or the wrong value is checked.
|
||||
|
@ -21,7 +21,7 @@ import org.apache.poi.ss.usermodel.CellType;
|
||||
|
||||
/**
|
||||
* Abstracts a cell for the purpose of formula evaluation. This interface represents both formula
|
||||
* and non-formula cells.<br/>
|
||||
* and non-formula cells.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -51,12 +51,12 @@ import org.apache.poi.ss.util.CellRangeAddress;
|
||||
* {@link ConditionalFormattingEvaluator}. This references a rule, its owning
|
||||
* {@link ConditionalFormatting}, its priority order (lower index = higher priority in Excel),
|
||||
* and the information needed to evaluate the rule for a given cell.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Having this all combined and cached avoids repeated access calls to the
|
||||
* underlying structural objects, XSSF CT* objects and HSSF raw byte structures.
|
||||
* Those objects can be referenced from here. This object will be out of sync if
|
||||
* anything modifies the referenced structures' evaluation properties.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The assumption is that consuming applications will read the display properties once and
|
||||
* create whatever style objects they need, caching those at the application level.
|
||||
* Thus this class only caches values needed for evaluation, not display.
|
||||
@ -225,7 +225,7 @@ public class EvaluationConditionalFormatRule implements Comparable<EvaluationCon
|
||||
/**
|
||||
* Per Excel Help, XSSF rule priority is sheet-wide, not just within the owning ConditionalFormatting object.
|
||||
* This can be seen by creating 4 rules applying to two different ranges and examining the XML.
|
||||
* <p/>
|
||||
* <p>
|
||||
* HSSF priority is based on definition/persistence order.
|
||||
*
|
||||
* @param o
|
||||
|
@ -20,7 +20,7 @@ package org.apache.poi.ss.formula;
|
||||
import org.apache.poi.ss.formula.ptg.NamePtg;
|
||||
import org.apache.poi.ss.formula.ptg.Ptg;
|
||||
/**
|
||||
* Abstracts a name record for formula evaluation.<br/>
|
||||
* Abstracts a name record for formula evaluation.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -20,7 +20,7 @@ package org.apache.poi.ss.formula;
|
||||
import org.apache.poi.util.Internal;
|
||||
|
||||
/**
|
||||
* Abstracts a sheet for the purpose of formula evaluation.<br/>
|
||||
* Abstracts a sheet for the purpose of formula evaluation.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -49,16 +49,16 @@ final class EvaluationTracker {
|
||||
|
||||
/**
|
||||
* Notifies this evaluation tracker that evaluation of the specified cell is
|
||||
* about to start.<br/>
|
||||
* about to start.<br>
|
||||
*
|
||||
* In the case of a <code>true</code> return code, the caller should
|
||||
* continue evaluation of the specified cell, and also be sure to call
|
||||
* <tt>endEvaluate()</tt> when complete.<br/>
|
||||
* <tt>endEvaluate()</tt> when complete.<br>
|
||||
*
|
||||
* In the case of a <code>null</code> return code, the caller should
|
||||
* return an evaluation result of
|
||||
* <tt>ErrorEval.CIRCULAR_REF_ERROR<tt>, and not call <tt>endEvaluate()</tt>.
|
||||
* <br/>
|
||||
* <br>
|
||||
* @return <code>false</code> if the specified cell is already being evaluated
|
||||
*/
|
||||
public boolean startEvaluate(FormulaCellCacheEntry cce) {
|
||||
@ -94,10 +94,10 @@ final class EvaluationTracker {
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies this evaluation tracker that the evaluation of the specified cell is complete. <p/>
|
||||
* Notifies this evaluation tracker that the evaluation of the specified cell is complete. <p>
|
||||
*
|
||||
* Every successful call to <tt>startEvaluate</tt> must be followed by a call to <tt>endEvaluate</tt> (recommended in a finally block) to enable
|
||||
* proper tracking of which cells are being evaluated at any point in time.<p/>
|
||||
* proper tracking of which cells are being evaluated at any point in time.<p>
|
||||
*
|
||||
* Assuming a well behaved client, parameters to this method would not be
|
||||
* required. However, they have been included to assert correct behaviour,
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.ss.formula.udf.UDFFinder;
|
||||
import org.apache.poi.util.Internal;
|
||||
|
||||
/**
|
||||
* Abstracts a workbook for the purpose of formula evaluation.<br/>
|
||||
* Abstracts a workbook for the purpose of formula evaluation.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -18,7 +18,7 @@
|
||||
package org.apache.poi.ss.formula;
|
||||
|
||||
/**
|
||||
* Should be implemented by any {@link org.apache.poi.ss.formula.ptg.Ptg} subclass that needs has an extern sheet index <br/>
|
||||
* Should be implemented by any {@link org.apache.poi.ss.formula.ptg.Ptg} subclass that needs has an extern sheet index <br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -87,9 +87,9 @@ import org.apache.poi.util.POILogger;
|
||||
* <term> ::= <factor> [ <mulop> <factor> ]*
|
||||
* <factor> ::= <number> | (<expression>) | <cellRef> | <function>
|
||||
* <function> ::= <functionName> ([expression [, expression]*])
|
||||
* <p/>
|
||||
* <p>
|
||||
* For POI internal use only
|
||||
* <p/>
|
||||
* <p>
|
||||
*/
|
||||
@Internal
|
||||
public final class FormulaParser {
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.ss.util.AreaReference;
|
||||
import org.apache.poi.ss.util.CellReference;
|
||||
|
||||
/**
|
||||
* Abstracts a workbook for the purpose of formula parsing.<br/>
|
||||
* Abstracts a workbook for the purpose of formula parsing.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -28,7 +28,7 @@ import org.apache.poi.ss.formula.ptg.ParenthesisPtg;
|
||||
import org.apache.poi.ss.formula.ptg.Ptg;
|
||||
|
||||
/**
|
||||
* Common logic for rendering formulas.<br/>
|
||||
* Common logic for rendering formulas.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -22,7 +22,7 @@ import org.apache.poi.ss.formula.ptg.NamePtg;
|
||||
import org.apache.poi.ss.formula.ptg.NameXPtg;
|
||||
|
||||
/**
|
||||
* Abstracts a workbook for the purpose of converting formula to text.<br/>
|
||||
* Abstracts a workbook for the purpose of converting formula to text.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -20,7 +20,7 @@ package org.apache.poi.ss.formula;
|
||||
import org.apache.poi.ss.formula.eval.ValueEval;
|
||||
|
||||
/**
|
||||
* Tests can implement this class to track the internal working of the {@link WorkbookEvaluator}.<br/>
|
||||
* Tests can implement this class to track the internal working of the {@link WorkbookEvaluator}.<br>
|
||||
*
|
||||
* For POI internal testing use only
|
||||
*
|
||||
|
@ -19,12 +19,12 @@ package org.apache.poi.ss.formula;
|
||||
|
||||
/**
|
||||
* Used to help optimise cell evaluation result caching by allowing applications to specify which
|
||||
* parts of a workbook are <em>final</em>.<br/>
|
||||
* parts of a workbook are <em>final</em>.<br>
|
||||
* The term <b>final</b> is introduced here to denote immutability or 'having constant definition'.
|
||||
* This classification refers to potential actions (on the evaluated workbook) by the evaluating
|
||||
* application. It does not refer to operations performed by the evaluator ({@link
|
||||
* WorkbookEvaluator}).<br/>
|
||||
* <br/>
|
||||
* WorkbookEvaluator}).<br>
|
||||
* <br>
|
||||
* <b>General guidelines</b>:
|
||||
* <ul>
|
||||
* <li>a plain value cell can be marked as 'final' if it will not be changed after the first call
|
||||
|
@ -38,18 +38,18 @@ import org.apache.poi.util.Removal;
|
||||
* <li>value</li>
|
||||
* <li>array</li>
|
||||
* </ul>
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
* The final operand class chosen for each token depends on the formula type and the token's place
|
||||
* in the formula. If POI gets the operand class wrong, Excel <em>may</em> interpret the formula
|
||||
* incorrectly. This condition is typically manifested as a formula cell that displays as '#VALUE!',
|
||||
* but resolves correctly when the user presses F2, enter.<p/>
|
||||
* but resolves correctly when the user presses F2, enter.<p>
|
||||
*
|
||||
* The logic implemented here was partially inspired by the description in
|
||||
* "OpenOffice.org's Documentation of the Microsoft Excel File Format". The model presented there
|
||||
* seems to be inconsistent with observed Excel behaviour (These differences have not been fully
|
||||
* investigated). The implementation in this class has been heavily modified in order to satisfy
|
||||
* concrete examples of how Excel performs the same logic (see TestRVA).<p/>
|
||||
* concrete examples of how Excel performs the same logic (see TestRVA).<p>
|
||||
*
|
||||
* Hopefully, as additional important test cases are identified and added to the test suite,
|
||||
* patterns might become more obvious in this code and allow for simplification.
|
||||
|
@ -162,7 +162,7 @@ public final class SheetNameFormatter {
|
||||
/**
|
||||
* Used to decide whether sheet names like 'AB123' need delimiting due to the fact that they
|
||||
* look like cell references.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This code is currently being used for translating formulas represented with <code>Ptg</code>
|
||||
* tokens into human readable text form. In formula expressions, a sheet name always has a
|
||||
* trailing '!' so there is little chance for ambiguity. It doesn't matter too much what this
|
||||
@ -177,7 +177,7 @@ public final class SheetNameFormatter {
|
||||
*
|
||||
* At the time of writing, POI's formula parser tolerates cell-like sheet names in formulas
|
||||
* with or without delimiters. The same goes for Excel(2007), both manual and automated entry.
|
||||
* <p/>
|
||||
* <p>
|
||||
* For better or worse this implementation attempts to replicate Excel's formula renderer.
|
||||
* Excel uses range checking on the apparent 'row' and 'column' components. Note however that
|
||||
* the maximum sheet size varies across versions.
|
||||
@ -190,7 +190,7 @@ public final class SheetNameFormatter {
|
||||
/**
|
||||
* Note - this method assumes the specified rawSheetName has only letters and digits. It
|
||||
* cannot be used to match absolute or range references (using the dollar or colon char).
|
||||
* <p/>
|
||||
* <p>
|
||||
* Some notable cases:
|
||||
* <blockquote><table border="0" cellpadding="1" cellspacing="0"
|
||||
* summary="Notable cases.">
|
||||
|
@ -19,7 +19,7 @@ package org.apache.poi.ss.formula;
|
||||
|
||||
/**
|
||||
* Should be implemented by any {@link org.apache.poi.ss.formula.ptg.Ptg} subclass that needs a workbook to render its formula.
|
||||
* <br/>
|
||||
* <br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
|
@ -44,11 +44,11 @@ import org.apache.poi.util.Internal;
|
||||
import org.apache.poi.util.POILogFactory;
|
||||
import org.apache.poi.util.POILogger;
|
||||
/**
|
||||
* Evaluates formula cells.<p/>
|
||||
* Evaluates formula cells.<p>
|
||||
*
|
||||
* For performance reasons, this class keeps a cache of all previously calculated intermediate
|
||||
* cell values. Be sure to call {@link #clearAllCachedResultValues()} if any workbook cells are changed between
|
||||
* calls to evaluate~ methods on this class.<br/>
|
||||
* calls to evaluate~ methods on this class.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*
|
||||
@ -595,7 +595,7 @@ public final class WorkbookEvaluator {
|
||||
/**
|
||||
* returns an appropriate Eval impl instance for the Ptg. The Ptg must be
|
||||
* one of: Area3DPtg, AreaPtg, ReferencePtg, Ref3DPtg, IntPtg, NumberPtg,
|
||||
* StringPtg, BoolPtg <br/>special Note: OperationPtg subtypes cannot be
|
||||
* StringPtg, BoolPtg <br>special Note: OperationPtg subtypes cannot be
|
||||
* passed here!
|
||||
*/
|
||||
private ValueEval getEvalForPtg(Ptg ptg, OperationEvaluationContext ec) {
|
||||
|
@ -24,11 +24,11 @@ import org.apache.poi.ss.formula.eval.EvaluationException;
|
||||
import org.apache.poi.ss.formula.eval.ValueEval;
|
||||
import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
/**
|
||||
* Implementation of 'Analysis Toolpak' Excel function IFERROR()<br/>
|
||||
* Implementation of 'Analysis Toolpak' Excel function IFERROR()<br>
|
||||
*
|
||||
* Returns an error text if there is an error in the evaluation<p/>
|
||||
* Returns an error text if there is an error in the evaluation<p>
|
||||
*
|
||||
* <b>Syntax</b><br/>
|
||||
* <b>Syntax</b><br>
|
||||
* <b>IFERROR</b>(<b>expression</b>, <b>string</b>)
|
||||
*
|
||||
* @author Johan Karlsteen
|
||||
|
@ -23,14 +23,14 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
import org.apache.poi.ss.formula.functions.NumericFunction;
|
||||
|
||||
/**
|
||||
* Implementation of Excel 'Analysis ToolPak' function MROUND()<br/>
|
||||
* Implementation of Excel 'Analysis ToolPak' function MROUND()<br>
|
||||
*
|
||||
* Returns a number rounded to the desired multiple.<p/>
|
||||
* Returns a number rounded to the desired multiple.<p>
|
||||
*
|
||||
* <b>Syntax</b><br/>
|
||||
* <b>Syntax</b><br>
|
||||
* <b>MROUND</b>(<b>number</b>, <b>multiple</b>)
|
||||
*
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
* @author Yegor Kozlov
|
||||
*/
|
||||
|
@ -26,13 +26,13 @@ import org.apache.poi.ss.formula.eval.ValueEval;
|
||||
import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
|
||||
/**
|
||||
* Implementation of Excel 'Analysis ToolPak' function NETWORKDAYS()<br/>
|
||||
* Implementation of Excel 'Analysis ToolPak' function NETWORKDAYS()<br>
|
||||
* Returns the number of workdays given a starting and an ending date, considering an interval of holidays. A workday is any non
|
||||
* saturday/sunday date.
|
||||
* <p/>
|
||||
* <b>Syntax</b><br/>
|
||||
* <p>
|
||||
* <b>Syntax</b><br>
|
||||
* <b>NETWORKDAYS</b>(<b>startDate</b>, <b>endDate</b>, holidays)
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
* @author jfaenomoto@gmail.com
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ import org.apache.poi.ss.formula.eval.ValueEval;
|
||||
import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
import org.apache.poi.ss.formula.OperationEvaluationContext;
|
||||
/**
|
||||
* Implementation of Excel 'Analysis ToolPak' function ISEVEN() ISODD()<br/>
|
||||
* Implementation of Excel 'Analysis ToolPak' function ISEVEN() ISODD()<br>
|
||||
*
|
||||
* @author Josh Micich
|
||||
*/
|
||||
|
@ -25,15 +25,15 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
import org.apache.poi.ss.formula.OperationEvaluationContext;
|
||||
|
||||
/**
|
||||
* Implementation of Excel 'Analysis ToolPak' function RANDBETWEEN()<br/>
|
||||
* Implementation of Excel 'Analysis ToolPak' function RANDBETWEEN()<br>
|
||||
*
|
||||
* Returns a random integer number between the numbers you specify.<p/>
|
||||
* Returns a random integer number between the numbers you specify.<p>
|
||||
*
|
||||
* <b>Syntax</b><br/>
|
||||
* <b>RANDBETWEEN</b>(<b>bottom</b>, <b>top</b>)<p/>
|
||||
* <b>Syntax</b><br>
|
||||
* <b>RANDBETWEEN</b>(<b>bottom</b>, <b>top</b>)<p>
|
||||
*
|
||||
* <b>bottom</b> is the smallest integer RANDBETWEEN will return.<br/>
|
||||
* <b>top</b> is the largest integer RANDBETWEEN will return.<br/>
|
||||
* <b>bottom</b> is the smallest integer RANDBETWEEN will return.<br>
|
||||
* <b>top</b> is the largest integer RANDBETWEEN will return.<br>
|
||||
|
||||
* @author Brendan Nolan
|
||||
*/
|
||||
|
@ -26,13 +26,13 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
import org.apache.poi.ss.usermodel.DateUtil;
|
||||
|
||||
/**
|
||||
* Implementation of Excel 'Analysis ToolPak' function WORKDAY()<br/>
|
||||
* Implementation of Excel 'Analysis ToolPak' function WORKDAY()<br>
|
||||
* Returns the date past a number of workdays beginning at a start date, considering an interval of holidays. A workday is any non
|
||||
* saturday/sunday date.
|
||||
* <p/>
|
||||
* <b>Syntax</b><br/>
|
||||
* <p>
|
||||
* <b>Syntax</b><br>
|
||||
* <b>WORKDAY</b>(<b>startDate</b>, <b>days</b>, holidays)
|
||||
* <p/>
|
||||
* <p>
|
||||
*
|
||||
* @author jfaenomoto@gmail.com
|
||||
*/
|
||||
|
@ -29,12 +29,12 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
|
||||
import org.apache.poi.ss.formula.OperationEvaluationContext;
|
||||
import org.apache.poi.ss.usermodel.DateUtil;
|
||||
/**
|
||||
* Implementation of Excel 'Analysis ToolPak' function YEARFRAC()<br/>
|
||||
* Implementation of Excel 'Analysis ToolPak' function YEARFRAC()<br>
|
||||
*
|
||||
* Returns the fraction of the year spanned by two dates.<p/>
|
||||
* Returns the fraction of the year spanned by two dates.<p>
|
||||
*
|
||||
* <b>Syntax</b><br/>
|
||||
* <b>YEARFRAC</b>(<b>startDate</b>, <b>endDate</b>, basis)<p/>
|
||||
* <b>Syntax</b><br>
|
||||
* <b>YEARFRAC</b>(<b>startDate</b>, <b>endDate</b>, basis)<p>
|
||||
*
|
||||
* The <b>basis</b> optionally specifies the behaviour of YEARFRAC as follows:
|
||||
*
|
||||
|
@ -26,7 +26,7 @@ import org.apache.poi.util.LocaleUtil;
|
||||
|
||||
|
||||
/**
|
||||
* Internal calculation methods for Excel 'Analysis ToolPak' function YEARFRAC()<br/>
|
||||
* Internal calculation methods for Excel 'Analysis ToolPak' function YEARFRAC()<br>
|
||||
*
|
||||
* Algorithm inspired by www.dwheeler.com/yearfrac
|
||||
*/
|
||||
|
@ -24,7 +24,7 @@ import org.apache.poi.util.StringUtil;
|
||||
/**
|
||||
* To support Constant Values (2.5.7) as required by the CRN record.
|
||||
* This class is also used for two dimensional arrays which are encoded by
|
||||
* EXTERNALNAME (5.39) records and Array tokens.<p/>
|
||||
* EXTERNALNAME (5.39) records and Array tokens.<p>
|
||||
*
|
||||
* @author Josh Micich
|
||||
*/
|
||||
|
@ -21,7 +21,7 @@ import org.apache.poi.ss.usermodel.FormulaError;
|
||||
import org.apache.poi.util.POILogFactory;
|
||||
import org.apache.poi.util.POILogger;
|
||||
/**
|
||||
* Represents a constant error code value as encoded in a constant values array. <p/>
|
||||
* Represents a constant error code value as encoded in a constant values array. <p>
|
||||
*
|
||||
* This class is a type-safe wrapper for a 16-bit int value performing a similar job to
|
||||
* <tt>ErrorEval</tt>.
|
||||
|
@ -29,7 +29,7 @@ public final class BoolEval implements NumericValueEval, StringValueEval {
|
||||
public static final BoolEval TRUE = new BoolEval(true);
|
||||
|
||||
/**
|
||||
* Convenience method for the following:<br/>
|
||||
* Convenience method for the following:<br>
|
||||
* <code>(b ? BoolEval.TRUE : BoolEval.FALSE)</code>
|
||||
*
|
||||
* @return the <tt>BoolEval</tt> instance representing <tt>b</tt>.
|
||||
|
@ -20,7 +20,7 @@ package org.apache.poi.ss.formula.eval;
|
||||
/**
|
||||
* This class is used to simplify error handling logic <i>within</i> operator and function
|
||||
* implementations. Note - <tt>OperationEval.evaluate()</tt> and <tt>Function.evaluate()</tt>
|
||||
* method signatures do not throw this exception so it cannot propagate outside.<p/>
|
||||
* method signatures do not throw this exception so it cannot propagate outside.<p>
|
||||
*
|
||||
* Here is an example coded without <tt>EvaluationException</tt>, to show how it can help:
|
||||
* <pre>
|
||||
@ -51,9 +51,9 @@ package org.apache.poi.ss.formula.eval;
|
||||
* </pre>
|
||||
* In this example, if any error is encountered while processing the arguments, an error is
|
||||
* returned immediately. This code is difficult to refactor due to all the points where errors
|
||||
* are returned.<br/>
|
||||
* are returned.<br>
|
||||
* Using <tt>EvaluationException</tt> allows the error returning code to be consolidated to one
|
||||
* place.<p/>
|
||||
* place.<p>
|
||||
* <pre>
|
||||
* public Eval evaluate(Eval[] args, int srcRow, short srcCol) {
|
||||
* try {
|
||||
@ -91,14 +91,14 @@ package org.apache.poi.ss.formula.eval;
|
||||
* return temp;
|
||||
*}
|
||||
* </pre>
|
||||
* It is not mandatory to use EvaluationException, doing so might give the following advantages:<br/>
|
||||
* - Methods can more easily be extracted, allowing for re-use.<br/>
|
||||
* It is not mandatory to use EvaluationException, doing so might give the following advantages:<br>
|
||||
* - Methods can more easily be extracted, allowing for re-use.<br>
|
||||
* - Type management (typecasting etc) is simpler because error conditions have been separated from
|
||||
* intermediate calculation values.<br/>
|
||||
* - Fewer local variables are required. Local variables can have stronger types.<br/>
|
||||
* intermediate calculation values.<br>
|
||||
* - Fewer local variables are required. Local variables can have stronger types.<br>
|
||||
* - It is easier to mimic common Excel error handling behaviour (exit upon encountering first
|
||||
* error), because exceptions conveniently propagate up the call stack regardless of execution
|
||||
* points or the number of levels of nested calls.<p/>
|
||||
* points or the number of levels of nested calls.<p>
|
||||
*
|
||||
* <b>Note</b> - Only standard evaluation errors are represented by <tt>EvaluationException</tt> (
|
||||
* i.e. conditions expected to be encountered when evaluating arbitrary Excel formulas). Conditions
|
||||
|
@ -97,10 +97,10 @@ public final class OperandResolver {
|
||||
*
|
||||
* Note that the row area (A1:B1) does not include column C and the column area (D2:D3) does
|
||||
* not include row 4, so the values in C1(=25) and D4(=400) are not accessible to the formula
|
||||
* as written, but in the 4 cells A2:B3, the row and column selection works ok.<p/>
|
||||
* as written, but in the 4 cells A2:B3, the row and column selection works ok.<p>
|
||||
*
|
||||
* The same concept is extended to references across sheets, such that even multi-row,
|
||||
* multi-column areas can be useful.<p/>
|
||||
* multi-column areas can be useful.<p>
|
||||
*
|
||||
* Of course with carefully (or carelessly) chosen parameters, cyclic references can occur and
|
||||
* hence this method <b>can</b> throw a 'circular reference' EvaluationException. Note that
|
||||
@ -180,14 +180,14 @@ public final class OperandResolver {
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies some conversion rules if the supplied value is not already an integer.<br/>
|
||||
* Applies some conversion rules if the supplied value is not already an integer.<br>
|
||||
* Value is first coerced to a <tt>double</tt> ( See <tt>coerceValueToDouble()</tt> ).
|
||||
* Note - <tt>BlankEval</tt> is converted to <code>0</code>.<p/>
|
||||
* Note - <tt>BlankEval</tt> is converted to <code>0</code>.<p>
|
||||
*
|
||||
* Excel typically converts doubles to integers by truncating toward negative infinity.<br/>
|
||||
* The equivalent java code is:<br/>
|
||||
* <code>return (int)Math.floor(d);</code><br/>
|
||||
* <b>not</b>:<br/>
|
||||
* Excel typically converts doubles to integers by truncating toward negative infinity.<br>
|
||||
* The equivalent java code is:<br>
|
||||
* <code>return (int)Math.floor(d);</code><br>
|
||||
* <b>not</b>:<br>
|
||||
* <code>return (int)d; // wrong - rounds toward zero</code>
|
||||
*
|
||||
*/
|
||||
@ -232,21 +232,21 @@ public final class OperandResolver {
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a string to a double using standard rules that Excel would use.<br/>
|
||||
* Tolerates leading and trailing spaces, <p/>
|
||||
* Converts a string to a double using standard rules that Excel would use.<br>
|
||||
* Tolerates leading and trailing spaces, <p>
|
||||
*
|
||||
* Doesn't support currency prefixes, commas, percentage signs or arithmetic operations strings.
|
||||
*
|
||||
* Some examples:<br/>
|
||||
* " 123 " -> 123.0<br/>
|
||||
* ".123" -> 0.123<br/>
|
||||
* "1E4" -> 1000<br/>
|
||||
* "-123" -> -123.0<br/>
|
||||
* These not supported yet:<br/>
|
||||
* " $ 1,000.00 " -> 1000.0<br/>
|
||||
* "$1.25E4" -> 12500.0<br/>
|
||||
* "5**2" -> 500<br/>
|
||||
* "250%" -> 2.5<br/>
|
||||
* Some examples:<br>
|
||||
* " 123 " -> 123.0<br>
|
||||
* ".123" -> 0.123<br>
|
||||
* "1E4" -> 1000<br>
|
||||
* "-123" -> -123.0<br>
|
||||
* These not supported yet:<br>
|
||||
* " $ 1,000.00 " -> 1000.0<br>
|
||||
* "$1.25E4" -> 12500.0<br>
|
||||
* "5**2" -> 500<br>
|
||||
* "250%" -> 2.5<br>
|
||||
*
|
||||
* @return <code>null</code> if the specified text cannot be parsed as a number
|
||||
*/
|
||||
|
@ -22,7 +22,7 @@ import org.apache.poi.ss.formula.functions.Function;
|
||||
|
||||
|
||||
/**
|
||||
* Implementation of Excel formula token '%'. <p/>
|
||||
* Implementation of Excel formula token '%'. <p>
|
||||
* @author Josh Micich
|
||||
*/
|
||||
public final class PercentEval extends Fixed1ArgFunction {
|
||||
|
@ -34,7 +34,7 @@ import org.apache.poi.util.Internal;
|
||||
* Represents a sheet being used for forked evaluation. Initially, objects of this class contain
|
||||
* only the cells from the master workbook. By calling {@link #getOrCreateUpdatableCell(int, int)},
|
||||
* the master cell object is logically replaced with a {@link ForkedEvaluationCell} instance, which
|
||||
* will be used in all subsequent evaluations.<br/>
|
||||
* will be used in all subsequent evaluations.<br>
|
||||
*
|
||||
* For POI internal use only
|
||||
*/
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user