Internally, formats will be implemented using subclasses of {@link Format}such as {@link DecimalFormat} and {@link SimpleDateFormat}. Therefore the formats used by this class must obey the same pattern rules as these Format subclasses. This means that only legal number pattern characters ("0", "#", ".", "," etc.) may appear in number formats. Other characters can be inserted before or after the number pattern to form a prefix or suffix.
For example the Excel pattern "$#,##0.00 "USD"_);($#,##0.00 "USD")"
will be correctly formatted as "$1,000.00 USD" or "($1,000.00 USD)". However the pattern "00-00-00"
is incorrectly formatted by DecimalFormat as "000000--". For Excel formats that are not compatible with DecimalFormat, you can provide your own custom {@link Format} implementationvia HSSFDataFormatter.addFormat(String,Format)
. The following custom formats are already provided by this class:
If the Excel format pattern cannot be parsed successfully, then a default format will be used. The default number format will mimic the Excel General format: "#" for whole numbers and "#.##########" for decimal numbers. You can override the default format pattern with HSSFDataFormatter.setDefaultNumberFormat(Format)
. Note: the default format will only be used when a Format cannot be created from the cell's data format string.
@author James May (james dot may at fmr dot com)
|
|