## org.apache.poi.xssf.model
Class StylesTable

    java.lang.Object
      org.apache.poi.POIXMLDocumentPart
          org.apache.poi.xssf.model.StylesTable

    public class StylesTable

extends POIXMLDocumentPart

Table of styles shared across all sheets in a workbook.

Author:
  ugo

Field Summary
`static int` `FIRST_CUSTOM_STYLE_ID` The first style id available for use as a custom style

Fields inherited from class org.apache.poi.POIXMLDocumentPart
`DEFAULT_XML_OPTIONS`

Constructor Summary
`StylesTable()` Create a new, empty StylesTable
`StylesTable(PackagePart part, PackageRelationship rel)`

Method Summary
`int` `_getDXfsSize()`
`int` `_getNumberFormatSize()` For unit testing only
`int` `_getStyleXfsSize()` For unit testing only
`int` `_getXfsSize()` For unit testing only
`protected void` `commit()` Save the content in the underlying package part.
`XSSFCellStyle` `createCellStyle()`
`XSSFFont` `findFont(short boldWeight, short color, short fontHeight, java.lang.String name, boolean italic, boolean strikeout, short typeOffset, byte underline)` Finds a font that matches the one with the supplied attributes
`XSSFCellBorder` `getBorderAt(int idx)`
`java.util.List<XSSFCellBorder>` `getBorders()`
`org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf` `getCellStyleXfAt(int idx)`
`org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf` `getCellXfAt(int idx)`
`org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet` `getCTStylesheet()` For unit testing only!
`org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxf` `getDxfAt(int idx)`
`XSSFCellFill` `getFillAt(int idx)`
`java.util.List<XSSFCellFill>` `getFills()`
`XSSFFont` `getFontAt(int idx)`
`java.util.List<XSSFFont>` `getFonts()`
`java.lang.String` `getNumberFormatAt(int idx)`
`java.util.Map<java.lang.Integer,java.lang.String>` `getNumberFormats()`
`int` `getNumCellStyles()` get the size of cell styles
`XSSFCellStyle` `getStyleAt(int idx)`
`ThemesTable` `getTheme()`
`int` `putBorder(XSSFCellBorder border)`
`int` `putCellStyleXf(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellStyleXf)`
`int` `putCellXf(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellXf)`
`int` `putDxf(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxf dxf)`
`int` `putFill(XSSFCellFill fill)`
`int` `putFont(XSSFFont font)`
`int` `putFont(XSSFFont font, boolean forceRegistration)` Records the given font in the font table.
`int` `putNumberFormat(java.lang.String fmt)`
`int` `putStyle(XSSFCellStyle style)`
`protected void` `readFrom(java.io.InputStream is)` Read this shared styles table from an XML file.
`void` `replaceCellStyleXfAt(int idx, org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellStyleXf)`
`void` `replaceCellXfAt(int idx, org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellXf)`
`void` `setTheme(ThemesTable theme)`
`void` `writeTo(java.io.OutputStream out)` Write this table out as XML.

Methods inherited from class org.apache.poi.POIXMLDocumentPart
`addRelation, createRelationship, createRelationship, createRelationship, getPackagePart, getPackageRelationship, getParent, getRelationById, getRelationId, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### FIRST_CUSTOM_STYLE_ID

    public static final int FIRST_CUSTOM_STYLE_ID

  The first style id available for use as a custom style

  See Also:
    Constant Field Values

Constructor Detail

### StylesTable

    public StylesTable()

  Create a new, empty StylesTable

### StylesTable

    public StylesTable(PackagePart part,
                       PackageRelationship rel)
                throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### getTheme

    public ThemesTable getTheme()

### setTheme

    public void setTheme(ThemesTable theme)

### readFrom

    protected void readFrom(java.io.InputStream is)
                     throws java.io.IOException

  Read this shared styles table from an XML file.

  Parameters:
    `is` - The input stream containing the XML document.
  Throws:
    `java.io.IOException` - if an error occurs while reading.

### getNumberFormatAt

    public java.lang.String getNumberFormatAt(int idx)

### putNumberFormat

    public int putNumberFormat(java.lang.String fmt)

### getFontAt

    public XSSFFont getFontAt(int idx)

### putFont

    public int putFont(XSSFFont font,
                       boolean forceRegistration)

  Records the given font in the font table. Will re-use an existing font index if this font matches another, EXCEPT if forced registration is requested. This allows people to create several fonts then customise them later. Note - End Users probably want to call `XSSFFont.registerTo(StylesTable)`

### putFont

    public int putFont(XSSFFont font)

### getStyleAt

    public XSSFCellStyle getStyleAt(int idx)

### putStyle

    public int putStyle(XSSFCellStyle style)

### getBorderAt

    public XSSFCellBorder getBorderAt(int idx)

### putBorder

    public int putBorder(XSSFCellBorder border)

### getFillAt

    public XSSFCellFill getFillAt(int idx)

### getBorders

    public java.util.List<XSSFCellBorder> getBorders()

### getFills

    public java.util.List<XSSFCellFill> getFills()

### getFonts

    public java.util.List<XSSFFont> getFonts()

### getNumberFormats

    public java.util.Map<java.lang.Integer,java.lang.String> getNumberFormats()

### putFill

    public int putFill(XSSFCellFill fill)

### getCellXfAt

    public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf getCellXfAt(int idx)

### putCellXf

    public int putCellXf(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellXf)

### replaceCellXfAt

    public void replaceCellXfAt(int idx,
                                org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellXf)

### getCellStyleXfAt

    public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf getCellStyleXfAt(int idx)

### putCellStyleXf

    public int putCellStyleXf(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellStyleXf)

### replaceCellStyleXfAt

    public void replaceCellStyleXfAt(int idx,
                                     org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf cellStyleXf)

### getNumCellStyles

    public int getNumCellStyles()

  get the size of cell styles

### _getNumberFormatSize

    public int _getNumberFormatSize()

  For unit testing only

### _getXfsSize

    public int _getXfsSize()

  For unit testing only

### _getStyleXfsSize

    public int _getStyleXfsSize()

  For unit testing only

### getCTStylesheet

    public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet getCTStylesheet()

  For unit testing only!

### _getDXfsSize

    public int _getDXfsSize()

### writeTo

    public void writeTo(java.io.OutputStream out)
                 throws java.io.IOException

  Write this table out as XML.

  Parameters:
    `out` - The stream to write to.
  Throws:
    `java.io.IOException` - if an error occurs while writing.

### commit

    protected void commit()
                   throws java.io.IOException

  Description copied from class: `POIXMLDocumentPart`
  Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified. Sub-classes should override and add logic to marshal the "model" into Ooxml4J. For example, the code saving a generic XML entry may look as follows:

       protected void commit() throws IOException {
         PackagePart part = getPackagePart();
         OutputStream out = part.getOutputStream();
         XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
         bean.save(out, DEFAULT_XML_OPTIONS);
         out.close();
       }

  Overrides:
    `commit` in class `POIXMLDocumentPart`
  Throws:
    `java.io.IOException`

### getDxfAt

    public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxf getDxfAt(int idx)

### putDxf

    public int putDxf(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxf dxf)

### createCellStyle

    public XSSFCellStyle createCellStyle()

### findFont

    public XSSFFont findFont(short boldWeight,
                             short color,
                             short fontHeight,
                             java.lang.String name,
                             boolean italic,
                             boolean strikeout,
                             short typeOffset,
                             byte underline)

  Finds a font that matches the one with the supplied attributes

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