Class HSSFDataFormatter
- java.lang.Object
-
- org.apache.poi.ss.usermodel.DataFormatter
-
- org.apache.poi.hssf.usermodel.HSSFDataFormatter
-
- All Implemented Interfaces:
java.util.Observer
public final class HSSFDataFormatter extends DataFormatter
HSSFDataFormatter contains methods for formatting the value stored in an HSSFCell. This can be useful for reports and GUI presentations when you need to display data exactly as it appears in Excel. Supported formats include currency, SSN, percentages, decimals, dates, phone numbers, zip codes, etc.Internally, formats will be implemented using subclasses of
Format
such asDecimalFormat
andSimpleDateFormat
. 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 customFormat
implementation viaHSSFDataFormatter.addFormat(String,Format)
. The following custom formats are already provided by this class:- SSN "000-00-0000"
- Phone Number "(###) ###-####"
- Zip plus 4 "00000-0000"
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 Summary
Constructors Constructor Description HSSFDataFormatter()
Creates a formatter using thedefault locale
.HSSFDataFormatter(java.util.Locale locale)
Creates a formatter using the given locale.
-
Method Summary
-
Methods inherited from class org.apache.poi.ss.usermodel.DataFormatter
addFormat, createFormat, formatCellValue, formatCellValue, formatCellValue, formatRawCellContents, formatRawCellContents, getDefaultFormat, getLocaleChangedObservable, setDefaultNumberFormat, setExcelStyleRoundingMode, setExcelStyleRoundingMode, update
-
-