Package org.apache.poi.hssf.usermodel
Class HSSFCellStyle
- java.lang.Object
-
- org.apache.poi.hssf.usermodel.HSSFCellStyle
-
- All Implemented Interfaces:
Duplicatable
,CellStyle
public final class HSSFCellStyle extends Object implements CellStyle, Duplicatable
High level representation of the style of a cell in a sheet of a workbook.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
HSSFCellStyle(short index, ExtendedFormatRecord rec, InternalWorkbook workbook)
protected
HSSFCellStyle(short index, ExtendedFormatRecord rec, HSSFWorkbook workbook)
Creates new HSSFCellStyle why would you want to do this??protected
HSSFCellStyle(HSSFCellStyle other)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
cloneStyleFrom(HSSFCellStyle source)
void
cloneStyleFrom(CellStyle source)
Clones all the style information from another HSSFCellStyle, onto this one.HSSFCellStyle
copy()
boolean
equals(Object obj)
HorizontalAlignment
getAlignment()
get the type of horizontal alignment for the cellBorderStyle
getBorderBottom()
get the type of border to use for the bottom border of the cellBorderStyle
getBorderLeft()
get the type of border to use for the left border of the cellBorderStyle
getBorderRight()
get the type of border to use for the right border of the cellBorderStyle
getBorderTop()
get the type of border to use for the top border of the cellshort
getBottomBorderColor()
get the color to use for the left bordershort
getDataFormat()
get the index of the formatString
getDataFormatString()
Get the contents of the format string, by looking up the DataFormat against the bound workbookString
getDataFormatString(InternalWorkbook workbook)
Get the contents of the format string, by looking up the DataFormat against the supplied low level workbookString
getDataFormatString(Workbook workbook)
Get the contents of the format string, by looking up the DataFormat against the supplied workbookshort
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.FillPatternType
getFillPattern()
Get the fill patternHSSFFont
getFont(Workbook parentWorkbook)
gets the font for this styleint
getFontIndex()
gets the index of the font for this styleint
getFontIndexAsInt()
Deprecated.usegetFontIndex()
insteadboolean
getHidden()
get whether the cell's using this style are to be hiddenshort
getIndention()
get the number of spaces to indent the text in the cellshort
getIndex()
get the index within the HSSFWorkbook (sequence within the collection of ExtendedFormat objects)short
getLeftBorderColor()
get the color to use for the left borderboolean
getLocked()
get whether the cell's using this style are to be lockedHSSFCellStyle
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 bordershort
getRotation()
get the degree of rotation for the text in the cellboolean
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 borderString
getUserStyleName()
Gets the name of the user defined style.VerticalAlignment
getVerticalAlignment()
get the type of vertical alignment for the cellboolean
getWrapText()
get whether the text should be wrappedint
hashCode()
void
setAlignment(HorizontalAlignment align)
set the type of horizontal alignment for the cellvoid
setBorderBottom(BorderStyle border)
set the type of border to use for the bottom border of the cellvoid
setBorderLeft(BorderStyle border)
set the type of border to use for the left border of the cellvoid
setBorderRight(BorderStyle border)
set the type of border to use for the right border of the cellvoid
setBorderTop(BorderStyle border)
set the type of border to use for the top border of the cellvoid
setBottomBorderColor(short color)
set the color to use for the bottom bordervoid
setBottomBorderColor(HSSFColor color)
void
setDataFormat(short fmt)
set the data format (must be a valid format)void
setFillBackgroundColor(short bg)
set the background fill color.void
setFillBackgroundColor(Color color)
Set the background fill color represented as aColor
value.void
setFillForegroundColor(short bg)
set the foreground fill color Note: Ensure Foreground color is set prior to background color.void
setFillForegroundColor(Color color)
Set the foreground fill color represented as aColor
value.void
setFillPattern(FillPatternType fp)
setting to one fills the cell with the foreground color...void
setFont(HSSFFont font)
void
setFont(Font font)
set the font for this stylevoid
setFontColorColor(Color color)
void
setHidden(boolean hidden)
set the cell's using this style to be hiddenvoid
setIndention(short indent)
set the number of spaces to indent the text in the cellvoid
setLeftBorderColor(short color)
set the color to use for the left bordervoid
setLeftBorderColor(HSSFColor color)
void
setLocked(boolean locked)
set the cell's using this style to be lockedvoid
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 bordervoid
setRightBorderColor(HSSFColor color)
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 longvoid
setTopBorderColor(short color)
set the color to use for the top bordervoid
setTopBorderColor(HSSFColor color)
void
setUserStyleName(String styleName)
Sets the name of the user defined style.void
setVerticalAlignment(VerticalAlignment align)
set the type of vertical alignment for the cellvoid
setWrapText(boolean wrapped)
set whether the text should be wrappedvoid
verifyBelongsToWorkbook(HSSFWorkbook wb)
Verifies that this style belongs to the supplied Workbook.
-
-
-
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)
-
HSSFCellStyle
protected HSSFCellStyle(HSSFCellStyle other)
-
-
Method Detail
-
getIndex
public short getIndex()
get the index within the HSSFWorkbook (sequence within the collection of ExtendedFormat objects)
-
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 interfaceCellStyle
- See Also:
HSSFDataFormat
-
getDataFormat
public short getDataFormat()
get the index of the format- Specified by:
getDataFormat
in interfaceCellStyle
- See Also:
HSSFDataFormat
-
getDataFormatString
public String getDataFormatString()
Get the contents of the format string, by looking up the DataFormat against the bound workbook- Specified by:
getDataFormatString
in interfaceCellStyle
- Returns:
- the format string or "General" if not found
- See Also:
HSSFDataFormat
-
getDataFormatString
public 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 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 interfaceCellStyle
- Parameters:
font
- a font object created or retrieved from the HSSFWorkbook object- See Also:
HSSFWorkbook.createFont()
,HSSFWorkbook.getFontAt(int)
-
setFont
public void setFont(HSSFFont font)
-
getFontIndex
public int getFontIndex()
gets the index of the font for this style- Specified by:
getFontIndex
in interfaceCellStyle
- Since:
- 5.0.0 (used to return a short value)
- See Also:
HSSFWorkbook.getFontAt(int)
-
getFontIndexAsInt
@Deprecated @Removal(version="6.0.0") public int getFontIndexAsInt()
Deprecated.usegetFontIndex()
insteadgets the index of the font for this style- Specified by:
getFontIndexAsInt
in interfaceCellStyle
- Since:
- 4.0.0
- See Also:
HSSFWorkbook.getFontAt(int)
-
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(int)
-
setHidden
public void setHidden(boolean hidden)
set the cell's using this style to be hidden
-
getHidden
public boolean getHidden()
get whether the cell's using this style are to be hidden
-
setLocked
public void setLocked(boolean locked)
set the cell's using this style to be locked
-
getLocked
public boolean getLocked()
get whether the cell's using this style are to 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 interfaceCellStyle
-
getQuotePrefixed
public boolean getQuotePrefixed()
Is "Quote Prefix" or "123 Prefix" enabled for the cell?- Specified by:
getQuotePrefixed
in interfaceCellStyle
-
setAlignment
public void setAlignment(HorizontalAlignment align)
set the type of horizontal alignment for the cell- Specified by:
setAlignment
in interfaceCellStyle
- Parameters:
align
- - the type of alignment
-
getAlignment
public HorizontalAlignment getAlignment()
Description copied from interface:CellStyle
get the type of horizontal alignment for the cell- Specified by:
getAlignment
in interfaceCellStyle
- Returns:
- align - the type of alignment
-
setWrapText
public void setWrapText(boolean wrapped)
set whether the text should be wrapped- Specified by:
setWrapText
in interfaceCellStyle
- Parameters:
wrapped
- wrap text or not
-
getWrapText
public boolean getWrapText()
get whether the text should be wrapped- Specified by:
getWrapText
in interfaceCellStyle
- Returns:
- wrap text or not
-
setVerticalAlignment
public void setVerticalAlignment(VerticalAlignment align)
set the type of vertical alignment for the cell- Specified by:
setVerticalAlignment
in interfaceCellStyle
- Parameters:
align
- the type of alignment
-
getVerticalAlignment
public VerticalAlignment getVerticalAlignment()
Description copied from interface:CellStyle
get the type of vertical alignment for the cell- Specified by:
getVerticalAlignment
in interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- Parameters:
border
- type- Since:
- POI 3.15
-
getBorderLeft
public BorderStyle getBorderLeft()
Description copied from interface:CellStyle
get the type of border to use for the left border of the cell- Specified by:
getBorderLeft
in interfaceCellStyle
- Returns:
- border type
-
setBorderRight
public void setBorderRight(BorderStyle border)
set the type of border to use for the right border of the cell- Specified by:
setBorderRight
in interfaceCellStyle
- Parameters:
border
- type- Since:
- POI 3.15
-
getBorderRight
public BorderStyle getBorderRight()
Description copied from interface:CellStyle
get the type of border to use for the right border of the cell- Specified by:
getBorderRight
in interfaceCellStyle
- Returns:
- border type
-
setBorderTop
public void setBorderTop(BorderStyle border)
set the type of border to use for the top border of the cell- Specified by:
setBorderTop
in interfaceCellStyle
- Parameters:
border
- type- Since:
- POI 3.15
-
getBorderTop
public BorderStyle getBorderTop()
Description copied from interface:CellStyle
get the type of border to use for the top border of the cell- Specified by:
getBorderTop
in interfaceCellStyle
- Returns:
- border type
-
setBorderBottom
public void setBorderBottom(BorderStyle border)
set the type of border to use for the bottom border of the cell- Specified by:
setBorderBottom
in interfaceCellStyle
- Parameters:
border
- type- Since:
- 3.15 beta 2
-
getBorderBottom
public BorderStyle getBorderBottom()
Description copied from interface:CellStyle
get the type of border to use for the bottom border of the cell- Specified by:
getBorderBottom
in interfaceCellStyle
- Returns:
- border type
-
setLeftBorderColor
public void setLeftBorderColor(short color)
set the color to use for the left border- Specified by:
setLeftBorderColor
in interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- 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 interfaceCellStyle
- Parameters:
fp
- fill pattern (set toFillPatternType.SOLID_FOREGROUND
to fill w/foreground color)
-
getFillPattern
public FillPatternType getFillPattern()
Description copied from interface:CellStyle
Get the fill pattern- Specified by:
getFillPattern
in interfaceCellStyle
- Returns:
- the fill pattern, default value is
FillPatternType.NO_FILL
-
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 backgroundcs.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 interfaceCellStyle
- Parameters:
bg
- color
-
setFillBackgroundColor
public void setFillBackgroundColor(Color color)
Set the background fill color represented as aColor
value.- Specified by:
setFillBackgroundColor
in interfaceCellStyle
- Parameters:
color
- the color to use- Throws:
IllegalArgumentException
- if you provide aColor
instance that is not aHSSFColor
- Since:
- POI 5.2.3
-
getFillBackgroundColor
public short getFillBackgroundColor()
Get the background fill color. Note - many cells are actually filled with a foreground fill, not a background fill - seegetFillForegroundColor()
- Specified by:
getFillBackgroundColor
in interfaceCellStyle
- 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 interfaceCellStyle
-
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 interfaceCellStyle
- Parameters:
bg
- color
-
setFillForegroundColor
public void setFillForegroundColor(Color color)
Set the foreground fill color represented as aColor
value.- Specified by:
setFillForegroundColor
in interfaceCellStyle
- Parameters:
color
- the color to use- Throws:
IllegalArgumentException
- if you provide aColor
instance that is not aHSSFColor
- Since:
- POI 5.2.3
-
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 interfaceCellStyle
- 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 interfaceCellStyle
-
getUserStyleName
public 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(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 interfaceCellStyle
-
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 interfaceCellStyle
-
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:
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 interfaceCellStyle
-
cloneStyleFrom
public void cloneStyleFrom(HSSFCellStyle source)
-
copy
public HSSFCellStyle copy()
- Specified by:
copy
in interfaceDuplicatable
- Returns:
- a deep copy of the implementing class / instance
-
setFontColorColor
public void setFontColorColor(Color color)
-
setTopBorderColor
public void setTopBorderColor(HSSFColor color)
-
setBottomBorderColor
public void setBottomBorderColor(HSSFColor color)
-
setRightBorderColor
public void setRightBorderColor(HSSFColor color)
-
setLeftBorderColor
public void setLeftBorderColor(HSSFColor color)
-
-