Class XSSFCellStyle

    • Constructor Detail

      • XSSFCellStyle

        public XSSFCellStyle​(int cellXfId,
                             int cellStyleXfId,
                             StylesTable stylesSource,
                             ThemesTable theme)
        Creates a Cell Style from the supplied parts
        Parameters:
        cellXfId - The main XF for the cell. Must be a valid 0-based index into the XF table
        cellStyleXfId - Optional, style xf. A value of -1 means no xf.
        stylesSource - Styles Source to work off
      • XSSFCellStyle

        public XSSFCellStyle​(StylesTable stylesSource)
        Creates an empty Cell Style
    • Method Detail

      • getCoreXf

        @Internal
        public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf getCoreXf()
        Used so that StylesSource can figure out our location
      • getStyleXf

        @Internal
        public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf getStyleXf()
        Used so that StylesSource can figure out our location
      • verifyBelongsToStylesSource

        public void verifyBelongsToStylesSource​(StylesTable src)
        Verifies that this style belongs to the supplied Workbook Styles Source. 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 XSSFCellStyle, onto this one. This XSSFCellStyle will then have all the same properties as the source, but the two may be edited independently. Any stylings on this XSSFCellStyle will be lost! The source XSSFCellStyle could be from another XSSFWorkbook if you like. This allows you to copy styles from one XSSFWorkbook to another.
        Specified by:
        cloneStyleFrom in interface CellStyle
      • getBottomBorderColor

        public short getBottomBorderColor()
        Get the color to use for the bottom border
        Color is optional. When missing, IndexedColors.AUTOMATIC is implied.
        Specified by:
        getBottomBorderColor in interface CellStyle
        Returns:
        the index of the color definition, default value is IndexedColors.AUTOMATIC
        See Also:
        IndexedColors
      • getBottomBorderXSSFColor

        public XSSFColor getBottomBorderXSSFColor()
        Get the color to use for the bottom border as a XSSFColor
        Returns:
        the used color or null if not set
      • getDataFormat

        public short getDataFormat()
        Get the index of the number format (numFmt) record used by this cell format.
        Specified by:
        getDataFormat in interface CellStyle
        Returns:
        the index of the number format
      • getDataFormatString

        public String getDataFormatString()
        Get the contents of the format string, by looking up the StylesSource
        Specified by:
        getDataFormatString in interface CellStyle
        Returns:
        the number format string
      • getFillBackgroundXSSFColor

        public XSSFColor getFillBackgroundXSSFColor()
        Get the background fill color.

        Note - many cells are actually filled with a foreground fill, not a background fill - see getFillForegroundColor()

        Returns:
        XSSFColor - fill color or null if not set
        See Also:
        XSSFColor.getRGB()
      • getFillForegroundXSSFColor

        public XSSFColor getFillForegroundXSSFColor()
        Get the foreground fill color.
        Returns:
        XSSFColor - fill color or null if not set
      • getFont

        public XSSFFont getFont()
        Gets the font for this style
        Returns:
        Font - font
      • getHidden

        public boolean getHidden()
        Get whether the cell's using this style are to be hidden
        Specified by:
        getHidden in interface CellStyle
        Returns:
        boolean - whether the cell using this style is hidden
      • 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
      • getIndex

        public short getIndex()
        Get the index within the StylesTable (sequence within the collection of CTXf elements)
        Specified by:
        getIndex in interface CellStyle
        Returns:
        unique index number of the underlying record this style represents, as a short (may wrap)
      • getUIndex

        protected int getUIndex()
        Workaround for places where we need to support more than 32767 cell styles, ideally the main getIndex() and others would return int, not short, but that would affect some public APIs
        Returns:
        unique index number of the underlying record this style represents, as an int (always positive)
      • getLeftBorderXSSFColor

        public XSSFColor getLeftBorderXSSFColor()
        Get the color to use for the left border
        Returns:
        the index of the color definition or null if not set
        See Also:
        IndexedColors
      • getLocked

        public boolean getLocked()
        Get whether the cell's using this style are locked
        Specified by:
        getLocked in interface CellStyle
        Returns:
        whether the cell using this style are locked
      • getQuotePrefixed

        public boolean getQuotePrefixed()
        Is "Quote Prefix" or "123 Prefix" enabled for the cell?
        Specified by:
        getQuotePrefixed in interface CellStyle
      • getRightBorderXSSFColor

        public XSSFColor getRightBorderXSSFColor()
        Get the color to use for the right border
        Returns:
        the used color or null if not set
      • getRotation

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

        Expressed in degrees. Values range from 0 to 180. The first letter of the text is considered the center-point of the arc.
        For 0 - 90, the value represents degrees above horizon. For 91-180 the degrees below the horizon is calculated as:
        [degrees below horizon] = 90 - textRotation.

        Specified by:
        getRotation in interface CellStyle
        Returns:
        rotation degrees (between 0 and 180 degrees)
      • getTopBorderXSSFColor

        public XSSFColor getTopBorderXSSFColor()
        Get the color to use for the top border
        Returns:
        the used color or null if not set
      • getWrapText

        public boolean getWrapText()
        Whether the text should be wrapped
        Specified by:
        getWrapText in interface CellStyle
        Returns:
        a boolean value indicating if the text in a cell should be line-wrapped within the cell.
      • 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
      • 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 of border to use
        Since:
        POI 3.15
        See Also:
        BorderStyle
      • 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 - the type of border to use
        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 - the type of border to use
        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 - the type of border to use
        Since:
        POI 3.15
      • 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
        See Also:
        IndexedColors
      • setBottomBorderColor

        public void setBottomBorderColor​(XSSFColor color)
        Set the color to use for the bottom border
        Parameters:
        color - the color to use, null means no color
      • setDataFormat

        public void setDataFormat​(short fmt)
        Set the index of a data format
        Specified by:
        setDataFormat in interface CellStyle
        Parameters:
        fmt - the index of a data format
      • setDataFormat

        public void setDataFormat​(int fmt)
        Set the index of a data format
        Parameters:
        fmt - the index of a data format
      • setFillBackgroundColor

        public void setFillBackgroundColor​(XSSFColor color)
        Set the background fill color represented as a XSSFColor value.

        For example:

         cs.setFillPattern(XSSFCellStyle.FINE_DOTS );
         cs.setFillBackgroundXSSFColor(new XSSFColor(java.awt.Color.RED));
         
        optionally a Foreground and background fill can be applied: Note: Ensure Foreground color is set prior to background
         cs.setFillPattern(XSSFCellStyle.FINE_DOTS );
         cs.setFillForegroundColor(new XSSFColor(java.awt.Color.BLUE));
         cs.setFillBackgroundColor(new XSSFColor(java.awt.Color.GREEN));
         
        or, for the special case of SOLID_FILL:
         cs.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND );
         cs.setFillForegroundColor(new XSSFColor(java.awt.Color.GREEN));
         
        It is necessary to set the fill style in order for the color to be shown in the cell.
        Parameters:
        color - - the color to use
      • setFillBackgroundColor

        public void setFillBackgroundColor​(short bg)
        Set the background fill color represented as a indexed color value.

        For example:

         cs.setFillPattern(XSSFCellStyle.FINE_DOTS );
         cs.setFillBackgroundXSSFColor(IndexedColors.RED.getIndex());
         
        optionally a Foreground and background fill can be applied: Note: Ensure Foreground color is set prior to background
         cs.setFillPattern(XSSFCellStyle.FINE_DOTS );
         cs.setFillForegroundColor(IndexedColors.BLUE.getIndex());
         cs.setFillBackgroundColor(IndexedColors.RED.getIndex());
         
        or, for the special case of SOLID_FILL:
         cs.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND );
         cs.setFillForegroundColor(IndexedColors.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 - - the color to use
        See Also:
        IndexedColors
      • setFillForegroundColor

        public void setFillForegroundColor​(XSSFColor color)
        Set the foreground fill color represented as a XSSFColor value.
        Note: Ensure Foreground color is set prior to background color.
        Parameters:
        color - the color to use
        See Also:
        )
      • setFillForegroundColor

        public void setFillForegroundColor​(short fg)
        Set the foreground fill color as a indexed color value
        Note: Ensure Foreground color is set prior to background color.
        Specified by:
        setFillForegroundColor in interface CellStyle
        Parameters:
        fg - the color to use
        See Also:
        IndexedColors
      • setReadingOrder

        public void setReadingOrder​(ReadingOrder order)
        Set reading order for the cell
        Parameters:
        order - - the reading order
      • getReadingOrder

        public ReadingOrder getReadingOrder()
        Get reading order of the cell
        Returns:
        ReadingOrder - the reading order
      • 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
      • 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
      • setLeftBorderColor

        public void setLeftBorderColor​(short color)
        Set the color to use for the left border as a indexed color value
        Specified by:
        setLeftBorderColor in interface CellStyle
        Parameters:
        color - the index of the color definition
        See Also:
        IndexedColors
      • setLeftBorderColor

        public void setLeftBorderColor​(XSSFColor color)
        Set the color to use for the left border as a XSSFColor value
        Parameters:
        color - the color to use
      • 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
      • 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
      • 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
        See Also:
        IndexedColors
      • setRightBorderColor

        public void setRightBorderColor​(XSSFColor color)
        Set the color to use for the right border as a XSSFColor value
        Parameters:
        color - the color to use
      • setRotation

        public void setRotation​(short rotation)
        Set the degree of rotation for the text in the cell

        Expressed in degrees. Values range from 0 to 180. The first letter of the text is considered the center-point of the arc.
        For 0 - 90, the value represents degrees above horizon. For 91-180 the degrees below the horizon is calculated as:
        [degrees below horizon] = 90 - textRotation.

        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 - - the rotation degrees (between 0 and 180 degrees)
      • 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
        See Also:
        IndexedColors
      • setTopBorderColor

        public void setTopBorderColor​(XSSFColor color)
        Set the color to use for the top border as a XSSFColor value
        Parameters:
        color - the color to use
      • 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
      • setWrapText

        public void setWrapText​(boolean wrapped)
        Set whether the text should be wrapped.

        Setting this flag to true make all content visible within a cell by displaying it on multiple lines

        Specified by:
        setWrapText in interface CellStyle
        Parameters:
        wrapped - a boolean value indicating if the text in a cell should be line-wrapped within the cell.
      • setBorderColor

        public void setBorderColor​(XSSFCellBorder.BorderSide side,
                                   XSSFColor color)
        Set the color to use for the selected border
        Parameters:
        side - - where to apply the color definition
        color - - the color to use
      • setShrinkToFit

        public void setShrinkToFit​(boolean shrinkToFit)
        Specified by:
        setShrinkToFit in interface CellStyle
      • getCellAlignment

        protected XSSFCellAlignment getCellAlignment()
        get the cellAlignment object to use for manage alignment
        Returns:
        XSSFCellAlignment - cell alignment
      • hashCode

        public int hashCode()
        Returns a hash code value for the object. The hash is derived from the underlying CTXf bean.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value for this style
      • equals

        public boolean equals​(Object o)
        Checks is the supplied style is equal to this style
        Overrides:
        equals in class Object
        Parameters:
        o - the style to check
        Returns:
        true if the supplied style is equal to this style
      • copy

        public XSSFCellStyle copy()
        Make a copy of this style. The underlying CTXf bean is cloned, the references to fills and borders remain.
        Specified by:
        copy in interface Duplicatable
        Returns:
        a copy of this style