org.apache.poi.hssf.usermodel
Class HSSFCellStyle

java.lang.Object
  extended by org.apache.poi.hssf.usermodel.HSSFCellStyle
All Implemented Interfaces:
CellStyle

public final class HSSFCellStyle
extends java.lang.Object
implements CellStyle

High level representation of the style of a cell in a sheet of a workbook.

See Also:
HSSFWorkbook.createCellStyle(), HSSFWorkbook.getCellStyleAt(int), HSSFCell.setCellStyle(HSSFCellStyle)

Constructor Summary
protected HSSFCellStyle(short index, ExtendedFormatRecord rec, HSSFWorkbook workbook)
          Creates new HSSFCellStyle why would you want to do this??
protected HSSFCellStyle(short index, ExtendedFormatRecord rec, InternalWorkbook workbook)
           
 
Method Summary
 void cloneStyleFrom(CellStyle source)
          Clones all the style information from another HSSFCellStyle, onto this one.
 void cloneStyleFrom(HSSFCellStyle source)
           
 boolean equals(java.lang.Object obj)
           
 short getAlignment()
          Deprecated. POI 3.15 beta 3. Use getAlignmentEnum() instead.
 HorizontalAlignment getAlignmentEnum()
          get the type of horizontal alignment for the cell
 short getBorderBottom()
          Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderBottomEnum().
 BorderStyle getBorderBottomEnum()
          get the type of border to use for the bottom border of the cell
 short getBorderLeft()
          Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderLeftEnum().
 BorderStyle getBorderLeftEnum()
          get the type of border to use for the left border of the cell
 short getBorderRight()
          Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderRightEnum().
 BorderStyle getBorderRightEnum()
          get the type of border to use for the right border of the cell
 short getBorderTop()
          Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderTopEnum().
 BorderStyle getBorderTopEnum()
          get the type of border to use for the top border of the cell
 short getBottomBorderColor()
          get the color to use for the left border
 short getDataFormat()
          get the index of the format
 java.lang.String getDataFormatString()
          Get the contents of the format string, by looking up the DataFormat against the bound workbook
 java.lang.String getDataFormatString(InternalWorkbook workbook)
          Get the contents of the format string, by looking up the DataFormat against the supplied low level workbook
 java.lang.String getDataFormatString(Workbook workbook)
          Get the contents of the format string, by looking up the DataFormat against the supplied workbook
 short getFillBackgroundColor()
          Get the background fill color.
 HSSFColor getFillBackgroundColorColor()
          Gets the color object representing the current background fill, resolving indexes using the supplied workbook.
 short getFillForegroundColor()
          Get the foreground fill color.
 HSSFColor getFillForegroundColorColor()
          Gets the color object representing the current foreground fill, resolving indexes using the supplied workbook.
 short getFillPattern()
          Deprecated. POI 3.15 beta 3. This method will return FillPatternType in the future. Use setFillPattern(FillPatternType) instead.
 FillPatternType getFillPatternEnum()
          get the fill pattern
 HSSFFont getFont(Workbook parentWorkbook)
          gets the font for this style
 short getFontIndex()
          gets the index of the font for this style
 boolean getHidden()
          get whether the cell's using this style are to be hidden
 short getIndention()
          get the number of spaces to indent the text in the cell
 short getIndex()
          get the index within the HSSFWorkbook (sequence within the collection of ExtnededFormat objects)
 short getLeftBorderColor()
          get the color to use for the left border
 boolean getLocked()
          get whether the cell's using this style are to be locked
 HSSFCellStyle getParentStyle()
          Return the parent style for this cell style.
 boolean getQuotePrefixed()
          Is "Quote Prefix" or "123 Prefix" enabled for the cell?
 short getReadingOrder()
          Get the reading order, for RTL/LTR ordering of the text.
 short getRightBorderColor()
          get the color to use for the left border
 short getRotation()
          get the degree of rotation for the text in the cell
 boolean getShrinkToFit()
          Should the Cell be auto-sized by Excel to shrink it to fit if this text is too long?
 short getTopBorderColor()
          get the color to use for the top border
 java.lang.String getUserStyleName()
          Gets the name of the user defined style.
 short getVerticalAlignment()
          Deprecated. POI 3.15 beta 3. Use getVerticalAlignmentEnum() instead.
 VerticalAlignment getVerticalAlignmentEnum()
          get the type of vertical alignment for the cell
 boolean getWrapText()
          get whether the text should be wrapped
 int hashCode()
           
 void setAlignment(HorizontalAlignment align)
          set the type of horizontal alignment for the cell
 void setBorderBottom(BorderStyle border)
          set the type of border to use for the bottom border of the cell
 void setBorderLeft(BorderStyle border)
          set the type of border to use for the left border of the cell
 void setBorderRight(BorderStyle border)
          set the type of border to use for the right border of the cell
 void setBorderTop(BorderStyle border)
          set the type of border to use for the top border of the cell
 void setBottomBorderColor(short color)
          set the color to use for the bottom border
 void setDataFormat(short fmt)
          set the data format (must be a valid format)
 void setFillBackgroundColor(short bg)
          set the background fill color.
 void setFillForegroundColor(short bg)
          set the foreground fill color Note: Ensure Foreground color is set prior to background color.
 void setFillPattern(FillPatternType fp)
          setting to one fills the cell with the foreground color...
 void setFont(Font font)
          set the font for this style
 void setFont(HSSFFont font)
           
 void setHidden(boolean hidden)
          set the cell's using this style to be hidden
 void setIndention(short indent)
          set the number of spaces to indent the text in the cell
 void setLeftBorderColor(short color)
          set the color to use for the left border
 void setLocked(boolean locked)
          set the cell's using this style to be locked
 void setQuotePrefixed(boolean quotePrefix)
          Turn on or off "Quote Prefix" or "123 Prefix" for the style, which is used to tell Excel that the thing which looks like a number or a formula shouldn't be treated as on.
 void setReadingOrder(short order)
          Sets the reading order, for RTL/LTR ordering of the text.
 void setRightBorderColor(short color)
          set the color to use for the right border
 void setRotation(short rotation)
          set the degree of rotation for the text in the cell Note: HSSF uses values from -90 to 90 degrees, whereas XSSF uses values from 0 to 180 degrees.
 void setShrinkToFit(boolean shrinkToFit)
          Controls if the Cell should be auto-sized to shrink to fit if the text is too long
 void setTopBorderColor(short color)
          set the color to use for the top border
 void setUserStyleName(java.lang.String styleName)
          Sets the name of the user defined style.
 void setVerticalAlignment(VerticalAlignment align)
          set the type of vertical alignment for the cell
 void setWrapText(boolean wrapped)
          set whether the text should be wrapped
 void verifyBelongsToWorkbook(HSSFWorkbook wb)
          Verifies that this style belongs to the supplied Workbook.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HSSFCellStyle

protected HSSFCellStyle(short index,
                        ExtendedFormatRecord rec,
                        HSSFWorkbook workbook)
Creates new HSSFCellStyle why would you want to do this??


HSSFCellStyle

protected HSSFCellStyle(short index,
                        ExtendedFormatRecord rec,
                        InternalWorkbook workbook)
Method Detail

getIndex

public short getIndex()
get the index within the HSSFWorkbook (sequence within the collection of ExtnededFormat objects)

Specified by:
getIndex in interface CellStyle
Returns:
unique index number of the underlying record this style represents (probably you don't care unless you're comparing which one is which)

getParentStyle

public HSSFCellStyle getParentStyle()
Return the parent style for this cell style. In most cases this will be null, but in a few cases there'll be a fully defined parent.


setDataFormat

public void setDataFormat(short fmt)
set the data format (must be a valid format)

Specified by:
setDataFormat in interface CellStyle
See Also:
HSSFDataFormat

getDataFormat

public short getDataFormat()
get the index of the format

Specified by:
getDataFormat in interface CellStyle
See Also:
HSSFDataFormat

getDataFormatString

public java.lang.String getDataFormatString()
Get the contents of the format string, by looking up the DataFormat against the bound workbook

Specified by:
getDataFormatString in interface CellStyle
Returns:
the format string or "General" if not found
See Also:
HSSFDataFormat

getDataFormatString

public java.lang.String getDataFormatString(Workbook workbook)
Get the contents of the format string, by looking up the DataFormat against the supplied workbook

Returns:
the format string or "General" if not found
See Also:
HSSFDataFormat

getDataFormatString

public java.lang.String getDataFormatString(InternalWorkbook workbook)
Get the contents of the format string, by looking up the DataFormat against the supplied low level workbook

See Also:
HSSFDataFormat

setFont

public void setFont(Font font)
set the font for this style

Specified by:
setFont in interface CellStyle
Parameters:
font - a font object created or retrieved from the HSSFWorkbook object
See Also:
HSSFWorkbook.createFont(), HSSFWorkbook.getFontAt(short)

setFont

public void setFont(HSSFFont font)

getFontIndex

public short getFontIndex()
gets the index of the font for this style

Specified by:
getFontIndex in interface CellStyle
See Also:
HSSFWorkbook.getFontAt(short)

getFont

public HSSFFont getFont(Workbook parentWorkbook)
gets the font for this style

Parameters:
parentWorkbook - The HSSFWorkbook that this style belongs to
See Also:
getFontIndex(), HSSFWorkbook.getFontAt(short)

setHidden

public void setHidden(boolean hidden)
set the cell's using this style to be hidden

Specified by:
setHidden in interface CellStyle
Parameters:
hidden - - whether the cell using this style should be hidden

getHidden

public boolean getHidden()
get whether the cell's using this style are to be hidden

Specified by:
getHidden in interface CellStyle
Returns:
hidden - whether the cell using this style should be hidden

setLocked

public void setLocked(boolean locked)
set the cell's using this style to be locked

Specified by:
setLocked in interface CellStyle
Parameters:
locked - - whether the cell using this style should be locked

getLocked

public boolean getLocked()
get whether the cell's using this style are to be locked

Specified by:
getLocked in interface CellStyle
Returns:
hidden - whether the cell using this style should be locked

setQuotePrefixed

public void setQuotePrefixed(boolean quotePrefix)
Turn on or off "Quote Prefix" or "123 Prefix" for the style, which is used to tell Excel that the thing which looks like a number or a formula shouldn't be treated as on.

Specified by:
setQuotePrefixed in interface CellStyle

getQuotePrefixed

public boolean getQuotePrefixed()
Is "Quote Prefix" or "123 Prefix" enabled for the cell?

Specified by:
getQuotePrefixed in interface CellStyle

setAlignment

public void setAlignment(HorizontalAlignment align)
set the type of horizontal alignment for the cell

Specified by:
setAlignment in interface CellStyle
Parameters:
align - - the type of alignment

getAlignment

@Deprecated
public short getAlignment()
Deprecated. POI 3.15 beta 3. Use getAlignmentEnum() instead.

get the type of horizontal alignment for the cell

Specified by:
getAlignment in interface CellStyle
Returns:
align - the type of alignment

getAlignmentEnum

public HorizontalAlignment getAlignmentEnum()
get the type of horizontal alignment for the cell

Specified by:
getAlignmentEnum in interface CellStyle
Returns:
align - the type of alignment

setWrapText

public void setWrapText(boolean wrapped)
set whether the text should be wrapped

Specified by:
setWrapText in interface CellStyle
Parameters:
wrapped - wrap text or not

getWrapText

public boolean getWrapText()
get whether the text should be wrapped

Specified by:
getWrapText in interface CellStyle
Returns:
wrap text or not

setVerticalAlignment

public void setVerticalAlignment(VerticalAlignment align)
set the type of vertical alignment for the cell

Specified by:
setVerticalAlignment in interface CellStyle
Parameters:
align - the type of alignment

getVerticalAlignment

@Deprecated
public short getVerticalAlignment()
Deprecated. POI 3.15 beta 3. Use getVerticalAlignmentEnum() instead.

get the type of vertical alignment for the cell

Specified by:
getVerticalAlignment in interface CellStyle
Returns:
align the type of alignment
See Also:
VerticalAlignment

getVerticalAlignmentEnum

public VerticalAlignment getVerticalAlignmentEnum()
get the type of vertical alignment for the cell

Specified by:
getVerticalAlignmentEnum in interface CellStyle
Returns:
align the type of alignment

setRotation

public void setRotation(short rotation)
set the degree of rotation for the text in the cell Note: HSSF uses values from -90 to 90 degrees, whereas XSSF uses values from 0 to 180 degrees. The implementations of this method will map between these two value-ranges accordingly, however the corresponding getter is returning values in the range mandated by the current type of Excel file-format that this CellStyle is applied to.

Specified by:
setRotation in interface CellStyle
Parameters:
rotation - degrees (between -90 and 90 degrees, of 0xff for vertical)

getRotation

public short getRotation()
get the degree of rotation for the text in the cell

Specified by:
getRotation in interface CellStyle
Returns:
rotation degrees (between -90 and 90 degrees, or 0xff for vertical)

setIndention

public void setIndention(short indent)
set the number of spaces to indent the text in the cell

Specified by:
setIndention in interface CellStyle
Parameters:
indent - - number of spaces

getIndention

public short getIndention()
get the number of spaces to indent the text in the cell

Specified by:
getIndention in interface CellStyle
Returns:
indent - number of spaces

setBorderLeft

public void setBorderLeft(BorderStyle border)
set the type of border to use for the left border of the cell

Specified by:
setBorderLeft in interface CellStyle
Parameters:
border - type
Since:
POI 3.15

getBorderLeft

@Deprecated
public short getBorderLeft()
Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderLeftEnum().

get the type of border to use for the left border of the cell

Specified by:
getBorderLeft in interface CellStyle
Returns:
border type

getBorderLeftEnum

public BorderStyle getBorderLeftEnum()
get the type of border to use for the left border of the cell

Specified by:
getBorderLeftEnum in interface CellStyle
Returns:
border type
Since:
POI 3.15

setBorderRight

public void setBorderRight(BorderStyle border)
set the type of border to use for the right border of the cell

Specified by:
setBorderRight in interface CellStyle
Parameters:
border - type
Since:
POI 3.15

getBorderRight

@Deprecated
public short getBorderRight()
Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderRightEnum().

get the type of border to use for the right border of the cell

Specified by:
getBorderRight in interface CellStyle
Returns:
border type

getBorderRightEnum

public BorderStyle getBorderRightEnum()
get the type of border to use for the right border of the cell

Specified by:
getBorderRightEnum in interface CellStyle
Returns:
border type
Since:
POI 3.15

setBorderTop

public void setBorderTop(BorderStyle border)
set the type of border to use for the top border of the cell

Specified by:
setBorderTop in interface CellStyle
Parameters:
border - type
Since:
POI 3.15

getBorderTop

@Deprecated
public short getBorderTop()
Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderTopEnum().

get the type of border to use for the top border of the cell

Specified by:
getBorderTop in interface CellStyle
Returns:
border type

getBorderTopEnum

public BorderStyle getBorderTopEnum()
get the type of border to use for the top border of the cell

Specified by:
getBorderTopEnum in interface CellStyle
Returns:
border type
Since:
3.15

setBorderBottom

public void setBorderBottom(BorderStyle border)
set the type of border to use for the bottom border of the cell

Specified by:
setBorderBottom in interface CellStyle
Parameters:
border - type
Since:
3.15 beta 2

getBorderBottom

@Deprecated
public short getBorderBottom()
Deprecated. POI 3.15. Will return a BorderStyle enum in the future. Use getBorderBottomEnum().

get the type of border to use for the bottom border of the cell

Specified by:
getBorderBottom in interface CellStyle
Returns:
border type

getBorderBottomEnum

public BorderStyle getBorderBottomEnum()
get the type of border to use for the bottom border of the cell

Specified by:
getBorderBottomEnum in interface CellStyle
Returns:
border type
Since:
3.15

setLeftBorderColor

public void setLeftBorderColor(short color)
set the color to use for the left border

Specified by:
setLeftBorderColor in interface CellStyle
Parameters:
color - The index of the color definition

getLeftBorderColor

public short getLeftBorderColor()
get the color to use for the left border

Specified by:
getLeftBorderColor in interface CellStyle
Returns:
The index of the color definition
See Also:
HSSFPalette.getColor(short)

setRightBorderColor

public void setRightBorderColor(short color)
set the color to use for the right border

Specified by:
setRightBorderColor in interface CellStyle
Parameters:
color - The index of the color definition

getRightBorderColor

public short getRightBorderColor()
get the color to use for the left border

Specified by:
getRightBorderColor in interface CellStyle
Returns:
The index of the color definition
See Also:
HSSFPalette.getColor(short)

setTopBorderColor

public void setTopBorderColor(short color)
set the color to use for the top border

Specified by:
setTopBorderColor in interface CellStyle
Parameters:
color - The index of the color definition

getTopBorderColor

public short getTopBorderColor()
get the color to use for the top border

Specified by:
getTopBorderColor in interface CellStyle
Returns:
The index of the color definition
See Also:
HSSFPalette.getColor(short)

setBottomBorderColor

public void setBottomBorderColor(short color)
set the color to use for the bottom border

Specified by:
setBottomBorderColor in interface CellStyle
Parameters:
color - The index of the color definition

getBottomBorderColor

public short getBottomBorderColor()
get the color to use for the left border

Specified by:
getBottomBorderColor in interface CellStyle
Returns:
The index of the color definition
See Also:
HSSFPalette.getColor(short)

setFillPattern

public void setFillPattern(FillPatternType fp)
setting to one fills the cell with the foreground color... No idea about other values

Specified by:
setFillPattern in interface CellStyle
Parameters:
fp - fill pattern (set to FillPatternType.SOLID_FOREGROUND to fill w/foreground color)

getFillPattern

@Deprecated
public short getFillPattern()
Deprecated. POI 3.15 beta 3. This method will return FillPatternType in the future. Use setFillPattern(FillPatternType) instead.

get the fill pattern

Specified by:
getFillPattern in interface CellStyle
Returns:
fill pattern

getFillPatternEnum

public FillPatternType getFillPatternEnum()
get the fill pattern

Specified by:
getFillPatternEnum in interface CellStyle
Returns:
fill pattern

setFillBackgroundColor

public void setFillBackgroundColor(short bg)
set the background fill color.

For example:

 cs.setFillPattern(HSSFCellStyle.FINE_DOTS );
 cs.setFillBackgroundColor(new HSSFColor.RED().getIndex());
 
optionally a Foreground and background fill can be applied: Note: Ensure Foreground color is set prior to background
 cs.setFillPattern(HSSFCellStyle.FINE_DOTS );
 cs.setFillForegroundColor(new HSSFColor.BLUE().getIndex());
 cs.setFillBackgroundColor(new HSSFColor.RED().getIndex());
 
or, for the special case of SOLID_FILL:
 cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND );
 cs.setFillForegroundColor(new HSSFColor.RED().getIndex());
 
It is necessary to set the fill style in order for the color to be shown in the cell.

Specified by:
setFillBackgroundColor in interface CellStyle
Parameters:
bg - color

getFillBackgroundColor

public short getFillBackgroundColor()
Get the background fill color. Note - many cells are actually filled with a foreground fill, not a background fill - see getFillForegroundColor()

Specified by:
getFillBackgroundColor in interface CellStyle
Returns:
fill color
See Also:
HSSFPalette.getColor(short)

getFillBackgroundColorColor

public HSSFColor getFillBackgroundColorColor()
Description copied from interface: CellStyle
Gets the color object representing the current background fill, resolving indexes using the supplied workbook. This will work for both indexed and rgb defined colors.

Specified by:
getFillBackgroundColorColor in interface CellStyle

setFillForegroundColor

public void setFillForegroundColor(short bg)
set the foreground fill color Note: Ensure Foreground color is set prior to background color.

Specified by:
setFillForegroundColor in interface CellStyle
Parameters:
bg - color

getFillForegroundColor

public short getFillForegroundColor()
Get the foreground fill color. Many cells are filled with this, instead of a background color (getFillBackgroundColor())

Specified by:
getFillForegroundColor in interface CellStyle
Returns:
fill color
See Also:
HSSFPalette.getColor(short)

getFillForegroundColorColor

public HSSFColor getFillForegroundColorColor()
Description copied from interface: CellStyle
Gets the color object representing the current foreground fill, resolving indexes using the supplied workbook. This will work for both indexed and rgb defined colors.

Specified by:
getFillForegroundColorColor in interface CellStyle

getUserStyleName

public java.lang.String getUserStyleName()
Gets the name of the user defined style. Returns null for built in styles, and styles where no name has been defined


setUserStyleName

public void setUserStyleName(java.lang.String styleName)
Sets the name of the user defined style. Will complain if you try this on a built in style.


setShrinkToFit

public void setShrinkToFit(boolean shrinkToFit)
Controls if the Cell should be auto-sized to shrink to fit if the text is too long

Specified by:
setShrinkToFit in interface CellStyle

getShrinkToFit

public boolean getShrinkToFit()
Should the Cell be auto-sized by Excel to shrink it to fit if this text is too long?

Specified by:
getShrinkToFit in interface CellStyle

getReadingOrder

public short getReadingOrder()
Get the reading order, for RTL/LTR ordering of the text.

0 means Context (Default), 1 means Left To Right, and 2 means Right to Left

Returns:
order - the reading order (0,1,2)

setReadingOrder

public void setReadingOrder(short order)
Sets the reading order, for RTL/LTR ordering of the text.

0 means Context (Default), 1 means Left To Right, and 2 means Right to Left

Parameters:
order - - the reading order (0,1,2)

verifyBelongsToWorkbook

public void verifyBelongsToWorkbook(HSSFWorkbook wb)
Verifies that this style belongs to the supplied Workbook. Will throw an exception if it belongs to a different one. This is normally called when trying to assign a style to a cell, to ensure the cell and the style are from the same workbook (if they're not, it won't work)

Throws:
java.lang.IllegalArgumentException - if there's a workbook mis-match

cloneStyleFrom

public void cloneStyleFrom(CellStyle source)
Clones all the style information from another HSSFCellStyle, onto this one. This HSSFCellStyle will then have all the same properties as the source, but the two may be edited independently. Any stylings on this HSSFCellStyle will be lost! The source HSSFCellStyle could be from another HSSFWorkbook if you like. This allows you to copy styles from one HSSFWorkbook to another.

Specified by:
cloneStyleFrom in interface CellStyle

cloneStyleFrom

public void cloneStyleFrom(HSSFCellStyle source)

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object