org.apache.poi.hssf.usermodel
Class HSSFDataFormatter

java.lang.Object
  extended by org.apache.poi.ss.usermodel.DataFormatter
      extended by 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 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 Summary
HSSFDataFormatter()
          Creates a formatter using the default 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HSSFDataFormatter

public HSSFDataFormatter(java.util.Locale locale)
Creates a formatter using the given locale.


HSSFDataFormatter

public HSSFDataFormatter()
Creates a formatter using the default locale.