Class OdfTableCell


  • public class OdfTableCell
    extends Object
    OdfTableCell represents table cell feature in ODF document.

    OdfTable provides methods to get/set/modify the cell content and cell properties.

    • Method Detail

      • getInstance

        public static OdfTableCell getInstance​(TableTableCellElementBase cellElement)
        Get the OdfTableCell instance from the TableTableCellElementBase instance.

        Each TableTableCellElementBase instance has a one-to-one relationship to the a OdfTableCell instance.

        Parameters:
        cellElement - the cell element that need to get the corresponding OdfTableCell instance
        Returns:
        the OdfTableCell instance that represents a specified cell element
      • getHorizontalAlignment

        public String getHorizontalAlignment()
        Return the horizontal alignment setting of this cell.

        The returned value can be "center", "end", "justify", "left", "right", or "start". If no horizontal alignment is set, null will be returned.

        Returns:
        the horizontal alignment setting.
      • setHorizontalAlignment

        public void setHorizontalAlignment​(String horizontalAlignment)
        Set the horizontal alignment setting of this cell.

        The parameter can be "center", "end", "justify", "left", "right", or "start". Actually, "left" will be interpreted as "start", while "right" will be interpreted as "end". If argument is null, the explicit horizontal alignment setting is removed.

        Parameters:
        horizontalAlignment - the horizontal alignment setting.
      • getVerticalAlignment

        public String getVerticalAlignment()
        Return the vertical alignment setting of this cell.

        The returned value can be "auto", "automatic", "baseline", "bottom", "middle", or "top".

        Returns:
        the vertical alignment setting of this cell.
      • setVerticalAlignment

        public void setVerticalAlignment​(String verticalAlignment)
        Set the vertical alignment setting of this cell.

        The parameter can be "auto", "automatic", "baseline", "bottom", "middle", or "top". If argument is null, the explicit vertical alignment setting is removed.

        Parameters:
        verticalAlignment - the vertical alignment setting.
      • isTextWrapped

        public boolean isTextWrapped()
        Return the wrap option of this cell.
        Returns:
        true if the cell content can be wrapped;

        false if the cell content cannot be wrapped.

      • setTextWrapped

        public void setTextWrapped​(boolean isTextWrapped)
        Set the wrap option of this cell.
        Parameters:
        isTextWrapped - whether the cell content can be wrapped or not
      • getRowIndex

        public int getRowIndex()
        Get the index of the table row which contains this cell.
        Returns:
        the index of the row containing this cell
      • getTable

        public OdfTable getTable()
        Get an instance of table feature which contains this cell.
        Returns:
        the table containing this cell
      • getColumnIndex

        public int getColumnIndex()
        Get the index of the table column which contains this cell.
        Returns:
        the index of the column containing this cell
      • getTableColumn

        public OdfTableColumn getTableColumn()
        Get the instance of table column feature which contains this cell.
        Returns:
        the instance of table column feature which contains the cell.
      • getTableRow

        public OdfTableRow getTableRow()
        Get the instance of table row feature which contains this cell.
        Returns:
        the instance of table row feature which contains the cell.
      • getOwnerTableCell

        public OdfTableCell getOwnerTableCell()
        Get the cell that covers this cell.

        If the cell is a covered cell, the owner cell will be returned; if the cell is a real cell , the cell itself will be returned.

        Returns:
        the cell that covers the current cell
      • getOdfElement

        public TableTableCellElementBase getOdfElement()
        Get the instance of TableTableCellElementBase which represents this cell.
        Returns:
        the instance of TableTableCellElementBase
      • getCurrencyCode

        public String getCurrencyCode()
        Return the currency code of this cell, for example, "USD", "EUR", "CNY", and etc.

        If the value type is not "currency", an IllegalArgumentException will be thrown.

        Returns:
        the currency code

        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown if the value type is not "currency".
      • setCurrencyCode

        public void setCurrencyCode​(String currency)
        Set the currency code of this cell, for example, "USD", "EUR", "CNY", and etc.
        Parameters:
        currency - the currency code that need to be set.
        Throws:
        IllegalArgumentException - If input currency is null, an IllegalArgumentException will be thrown.
      • setValueType

        public void setValueType​(String type)
        Set the value type of this cell. The parameter can be "boolean", "currency", "date", "float", "percentage", "string" or "time".

        If the parameter type is not a valid cell type, an IllegalArgumentException will be thrown.

        Parameters:
        type - the type that need to be set If input type is null, an IllegalArgumentException will be thrown.
      • getValueType

        public String getValueType()
        Get the value type of this cell. The returned value can be "boolean", "currency", "date", "float", "percentage", "string" or "time". If no value type is set, null will be returned.
        Returns:
        the type of the cell
      • getDoubleValue

        public Double getDoubleValue()
        Get the double value of this cell as Double object.

        Throw IllegalArgumentException if the cell type is not "float".

        Returns:
        the double value of this cell as a Double object. If the cell value is empty, null will be returned.

        An IllegalArgumentException will be thrown if the cell type is not "float".

      • getCurrencyValue

        public Double getCurrencyValue()
        Get the currency value of this cell as Double object.

        Throw IllegalArgumentException if the cell type is not "currency".

        Returns:
        the currency value of this cell as a Double object. If the cell value is empty, null will be returned.
        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown if the cell type is not "currency".
      • getCurrencySymbol

        public String getCurrencySymbol()
        Get the symbol of currency.
        Returns:
        the currency symbol
        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown if the value type is not "currency".
      • setCurrencyValue

        public void setCurrencyValue​(Double value,
                                     String currency)
        Set the value and currency of the cell, and set the value type as "currency". Ifvalue is null, the cell value will be removed.
        Parameters:
        value - the value that will be set
        currency - the currency that will be set.
        Throws:
        IllegalArgumentException - If input currency is null, an IllegalArgumentException will be thrown.
      • getPercentageValue

        public Double getPercentageValue()
        Get the cell percentage value as Double object.

        Throw IllegalArgumentException if the cell type is not "percentage".

        Returns:
        the percentage value of this cell as a Double object. If the cell value is empty, null will be returned.
        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown if the cell type is not "percentage".
      • setPercentageValue

        public void setPercentageValue​(Double value)
        Set the cell value as a percentage value and set the value type as percentage too. Ifvalue is null, the cell value will be removed.
        Parameters:
        value - the value that will be set
      • getDisplayText

        public String getDisplayText()
        Get the text displayed in this cell.
        Returns:
        the text displayed in this cell
      • setDisplayText

        public void setDisplayText​(String content)
        Set the text displayed in this cell.

        Please note the displayed text in ODF viewer might be different with the value set by this method, because the displayed text in ODF viewer is calculated and set by editor.

        Parameters:
        content - the displayed text. If content is null, it will display the empty string instead.
      • setDisplayText

        public void setDisplayText​(String content,
                                   String stylename)
        Set the text displayed in this cell, with a specified style name.

        Please note the displayed text in ODF viewer might be different with the value set by this method, because the displayed text in ODF viewer are calculated and set by editor.

        Parameters:
        content - the displayed text. If content is null, it will display the empty string instead.
        stylename - the style name. If stylename is null, the content will use the default paragraph style.
      • setDoubleValue

        public void setDoubleValue​(Double value)
        Set the cell value as a double and set the value type to be "float".
        Parameters:
        value - the double value that will be set. Ifvalue is null, the cell value will be removed.
      • getBooleanValue

        public Boolean getBooleanValue()
        Get the cell boolean value as Boolean object.

        Throw IllegalArgumentException if the cell type is not "boolean".

        Returns:
        the Boolean value of cell. If the cell value is empty, null will be returned.
        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown if the cell type is not "boolean".
      • setBooleanValue

        public void setBooleanValue​(Boolean value)
        Set the cell value as a boolean and set the value type to be boolean. Ifvalue is null, the cell value will be removed.
        Parameters:
        value - the value of boolean type
      • getDateValue

        public Calendar getDateValue()
        Get the cell date value as Calendar.

        Throw IllegalArgumentException if the cell type is not "date".

        Returns:
        the Calendar value of cell
        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown, if the cell type is not "date".
      • setDateValue

        public void setDateValue​(Calendar date)
        Set the cell value as a date, and set the value type to be "date".
        Parameters:
        date - the value of java.util.Calendar type.
      • setStringValue

        public void setStringValue​(String str)
        Set the cell value as a string, and set the value type to be string.
        Parameters:
        str - the value of string type. If input string is null, an empty string will be set.
      • getStringValue

        public String getStringValue()
        Get the cell value as a string.

        If the cell type is not string, the display text will be returned.

        Returns:
        the string value of this cell, or the display text
      • getTimeValue

        public Calendar getTimeValue()
        Get the cell value as java.util.Calendar.

        Throw exception if the cell type is not "time".

        Returns:
        the Calendar value of cell
        Throws:
        IllegalArgumentException - an IllegalArgumentException will be thrown if the cell type is not time.
      • setTimeValue

        public void setTimeValue​(Calendar time)
        Set the cell value as a time and set the value type to be "time" too.
        Parameters:
        time - the value of java.util.Calendar type.
        Throws:
        IllegalArgumentException - If input time is null, an IllegalArgumentException exception will be thrown.
      • getCellBackgroundColor

        public Color getCellBackgroundColor()
        Get the background color of this cell.

        If no background color is set, default background color "#FFFFFF" will be returned.

        Returns:
        the background color of this cell
      • getCellBackgroundColorString

        public String getCellBackgroundColorString()
        Get the background color string of this cell.

        If no background color is set, default background color "#FFFFFF" will be returned.

        Returns:
        the background color of this cell
      • setCellBackgroundColor

        public void setCellBackgroundColor​(Color cellBackgroundColor)
        Set the background color of this cell.
        Parameters:
        cellBackgroundColor - the background color that need to set. If cellBackgroundColor is null, default background color Color.WHITE will be set.
      • setCellBackgroundColor

        public void setCellBackgroundColor​(String cellBackgroundColor)
        Set the background color of this cell using string. The string must be a valid argument for constructing org.odftoolkit.odfdom.type.Color.
        Parameters:
        cellBackgroundColor - the background color that need to set. If cellBackgroundColor is null, default background color #FFFFFF will be set.
        See Also:
        Color
      • getStyleName

        public String getStyleName()
        Get the style name of this cell.
        Returns:
        the name of the style
      • setFormula

        public void setFormula​(String formula)
        Set a formula to the cell.

        Please note, the parameter formula will not be checked and interpreted; the cell value will not be calculated. It's just simply set as a formula attribute. See @table:formula

        Parameters:
        formula - the formula that need to be set.
        Throws:
        IllegalArgumentException - if formula is null, an IllegalArgumentException will be thrown.
      • getFormula

        public String getFormula()
        Get the formula string of the cell.
        Returns:
        the formula representation of the cell

        If the cell does not contain a formula, null will be returned.

      • setCurrencyFormat

        public void setCurrencyFormat​(String currencySymbol,
                                      String format)
        Set the currency symbol and overall format of a currency cell.

        Please note the overall format includes the symbol character, for example: $#,##0.00.

        This function only works for currency.

        Parameters:
        currencySymbol - the currency symbol
        format - overall format
        Throws:
        IllegalArgumentException - if input currencySymbol or format is null, an IllegalArgumentException will be thrown.
      • setFormatString

        public void setFormatString​(String formatStr)
        Set the format string of the cell.

        This function only works for float, date, time and percentage, otherwise an IllegalArgumentException will be thrown.

        For value type float and percentage, the formatStr must follow the encoding rule of java.text.DecimalFormat. For value type date and time, the formatStr must follow the encoding rule of java.text.SimpleDateFormat.

        Refer to setCurrencyFormat to set the format of currency.

        If the cell value type is not set, the method will try to give it a value type, according to common ordination. The adapt order is: percentage-> time-> date-> float.

        ValueType Distinguish Symbol Distinguish Priority
        percentage % 1
        time H, k, m, s, S 2
        date y, M, w, W, D, d, F, E, K, h 3
        float #, 0 4
        The adapt result may be inaccurate, so you'd better set value type before call this method. If adaptive failed, an UnsupportedOperationException will be thrown.

        Parameters:
        formatStr - the cell need be formatted as this specified format string.
        Throws:
        IllegalArgumentException - if formatStr is null or the cell value type is supported.
        UnsupportedOperationException - if the adaptive failed, when cell value type is not set.
        See Also:
        SimpleDateFormat, DecimalFormat
      • getCellStyleElement

        protected OdfStyle getCellStyleElement()
      • getCellStyleElementForWrite

        protected OdfStyle getCellStyleElementForWrite()
      • getFormatString

        public String getFormatString()
        Get the format string of the cell.
        Returns:
        the format string of the cell
      • removeTextContent

        public void removeTextContent()
        Remove all the text content of cell.
      • removeContent

        public void removeContent()
        Remove all the content of the cell.