org.apache.poi.xssf.model
Class StylesTable

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by 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.