public final class HSSFDataFormatter extends DataFormatter
Internally, formats will be implemented using subclasses of Format
such as DecimalFormat
and 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 Format
implementation
via 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.
Constructor and Description |
---|
HSSFDataFormatter()
Creates a formatter using the
default locale . |
HSSFDataFormatter(java.util.Locale locale)
Creates a formatter using the given locale.
|
addFormat, createFormat, formatCellValue, formatCellValue, formatCellValue, formatRawCellContents, formatRawCellContents, getDefaultFormat, getLocaleChangedObservable, setDefaultNumberFormat, setExcelStyleRoundingMode, setExcelStyleRoundingMode, updateLocale
Copyright 2021 The Apache Software Foundation or its licensors, as applicable.