## org.apache.poi.hssf.usermodel
Class HSSFDataFormatter

    java.lang.Object
      org.apache.poi.ss.usermodel.DataFormatter
          org.apache.poi.hssf.usermodel.HSSFDataFormatter

    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:

     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.

Author:
  James May (james dot may at fmr dot com)

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, formatRawCellContents, formatRawCellContents, getDefaultFormat, setDefaultNumberFormat, setExcelStyleRoundingMode, setExcelStyleRoundingMode`

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`.

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.