Class CellUtil

java.lang.Object
org.apache.poi.ss.util.CellUtil

public final class CellUtil extends Object
Various utility functions that make working with a cells and rows easier. The various methods that deal with style's allow you to create your CellStyles as you need them. When you apply a style change to a cell, the code will attempt to see if a style already exists that meets your needs. If not, then it will create a new style. This is to prevent creating too many styles. there is an upper limit in Excel on the number of styles that can be supported.
Author:
Eric Pugh epugh@upstate.com, (secondary) Avinash Kewalramani akewalramani@accelrys.com
  • Field Details

  • Method Details

    • getRow

      public static Row getRow(int rowIndex, Sheet sheet)
      Get a row from the spreadsheet, and create it if it doesn't exist.
      Parameters:
      rowIndex - The 0 based row number
      sheet - The sheet that the row is part of.
      Returns:
      The row indicated by the rowCounter
    • getCell

      public static Cell getCell(Row row, int columnIndex)
      Get a specific cell from a row. If the cell doesn't exist, then create it.
      Parameters:
      row - The row that the cell is part of
      columnIndex - The column index that the cell is in.
      Returns:
      The cell indicated by the column.
    • createCell

      public static Cell createCell(Row row, int column, String value, CellStyle style)
      Creates a cell, gives it a value, and applies a style if provided
      Parameters:
      row - the row to create the cell in
      column - the column index to create the cell in
      value - The value of the cell
      style - If the style is not null, then set
      Returns:
      A new Cell
    • createCell

      public static Cell createCell(Row row, int column, String value)
      Create a cell, and give it a value.
      Parameters:
      row - the row to create the cell in
      column - the column index to create the cell in
      value - The value of the cell
      Returns:
      A new Cell.
    • setAlignment

      public static void setAlignment(Cell cell, HorizontalAlignment align)
      Take a cell, and align it. This is superior to cell.getCellStyle().setAlignment(align) because this method will not modify the CellStyle object that may be referenced by multiple cells. Instead, this method will search for existing CellStyles that match the desired CellStyle, creating a new CellStyle with the desired style if no match exists.
      Parameters:
      cell - the cell to set the alignment for
      align - the horizontal alignment to use.
      Since:
      POI 3.15 beta 3
      See Also:
    • setVerticalAlignment

      public static void setVerticalAlignment(Cell cell, VerticalAlignment align)
      Take a cell, and vertically align it. This is superior to cell.getCellStyle().setVerticalAlignment(align) because this method will not modify the CellStyle object that may be referenced by multiple cells. Instead, this method will search for existing CellStyles that match the desired CellStyle, creating a new CellStyle with the desired style if no match exists.
      Parameters:
      cell - the cell to set the alignment for
      align - the vertical alignment to use.
      Since:
      POI 3.15 beta 3
      See Also:
    • setFont

      public static void setFont(Cell cell, Font font)
      Take a cell, and apply a font to it
      Parameters:
      cell - the cell to set the alignment for
      font - The Font that you want to set.
      Throws:
      IllegalArgumentException - if font and cell do not belong to the same workbook
    • setCellStyleProperties

      public static void setCellStyleProperties(Cell cell, Map<String,Object> properties)

      This method attempts to find an existing CellStyle that matches the cell's current style plus styles properties in properties. A new style is created if the workbook does not contain a matching style.

      Modifies the cell style of cell without affecting other cells that use the same style.

      This is necessary because Excel has an upper limit on the number of styles that it supports.

      This function is more efficient than multiple calls to setCellStyleProperty(org.apache.poi.ss.usermodel.Cell, String, Object) if adding multiple cell styles.

      For performance reasons, if this is the only cell in a workbook that uses a cell style, this method does NOT remove the old style from the workbook.

      Parameters:
      cell - The cell to change the style of
      properties - The properties to be added to a cell style, as {propertyName: propertyValue}.
      Since:
      POI 3.14 beta 2
    • setCellStyleProperty

      public static void setCellStyleProperty(Cell cell, String propertyName, Object propertyValue)

      This method attempts to find an existing CellStyle that matches the cell's current style plus a single style property propertyName with value propertyValue. A new style is created if the workbook does not contain a matching style.

      Modifies the cell style of cell without affecting other cells that use the same style.

      If setting more than one cell style property on a cell, use setCellStyleProperties(org.apache.poi.ss.usermodel.Cell, Map), which is faster and does not add unnecessary intermediate CellStyles to the workbook.

      Parameters:
      cell - The cell that is to be changed.
      propertyName - The name of the property that is to be changed.
      propertyValue - The value of the property that is to be changed.
    • translateUnicodeValues

      public static Cell translateUnicodeValues(Cell cell)
      Looks for text in the cell that should be unicode, like α and provides the unicode version of it.
      Parameters:
      cell - The cell to check for unicode values
      Returns:
      translated to unicode