org.apache.poi.hssf.usermodel

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `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`.

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