## org.apache.poi.ss.formula.functions
Class TextFunction

    java.lang.Object
      org.apache.poi.ss.formula.functions.TextFunction

All Implemented Interfaces:
  Function

    public abstract class TextFunction

extends java.lang.Object
implements Function

Author:
  Amol S. Deshmukh < amolweb at ya hoo dot com >, Josh Micich, Stephen Wolke (smwolke at geistig.com)

Field Summary
`static Function` `CHAR` Returns the character specified by a number.
`static Function` `CLEAN` An implementation of the CLEAN function: In Excel, the Clean function removes all non-printable characters from a string.
`static Function` `CONCATENATE`
`protected static java.lang.String` `EMPTY_STRING`
`static Function` `EXACT`
`static Function` `FIND` Implementation of the FIND() function. Syntax: FIND(find_text, within_text, start_num) FIND returns the character position of the first (case sensitive) occurrence of `find_text` inside `within_text`.
`protected static DataFormatter` `formatter`
`static Function` `LEFT`
`static Function` `LEN`
`static Function` `LOWER`
`static Function` `MID` An implementation of the MID function MID returns a specific number of characters from a text string, starting at the specified position. Syntax: MID(text, start_num, num_chars) Author: Manda Wilson < wilson at c bio dot msk cc dot org >
`static Function` `RIGHT`
`static Function` `SEARCH` Implementation of the FIND() function. Syntax: SEARCH(find_text, within_text, start_num) SEARCH is a case-insensitive version of FIND()
`static Function` `TEXT` An implementation of the TEXT function TEXT returns a number value formatted with the given number formatting string.
`static Function` `TRIM` An implementation of the TRIM function: Removes leading and trailing spaces from value if evaluated operand value is string.
`static Function` `UPPER`

Constructor Summary
`TextFunction()`

Method Summary
`ValueEval` `evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)`
`protected static double` `evaluateDoubleArg(ValueEval arg, int srcCellRow, int srcCellCol)`
`protected abstract ValueEval` `evaluateFunc(ValueEval[] args, int srcCellRow, int srcCellCol)`
`protected static int` `evaluateIntArg(ValueEval arg, int srcCellRow, int srcCellCol)`
`protected static java.lang.String` `evaluateStringArg(ValueEval eval, int srcRow, int srcCol)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### formatter

    protected static final DataFormatter formatter

### EMPTY_STRING

    protected static final java.lang.String EMPTY_STRING

See Also:
  Constant Field Values

### CHAR

    public static final Function CHAR

  Returns the character specified by a number.

### LEN

    public static final Function LEN

### LOWER

    public static final Function LOWER

### UPPER

    public static final Function UPPER

### TRIM

    public static final Function TRIM

  An implementation of the TRIM function: Removes leading and trailing spaces from value if evaluated operand value is string. Author: Manda Wilson < wilson at c bio dot msk cc dot org >

### CLEAN

    public static final Function CLEAN

  An implementation of the CLEAN function: In Excel, the Clean function removes all non-printable characters from a string. Author: Aniket Banerjee(banerjee@google.com)

### MID

    public static final Function MID

  An implementation of the MID function
  MID returns a specific number of characters from a text string, starting at the specified position.

  Syntax:
  MID(text, start_num, num_chars)
  Author: Manda Wilson < wilson at c bio dot msk cc dot org >

### LEFT

    public static final Function LEFT

### RIGHT

    public static final Function RIGHT

### CONCATENATE

    public static final Function CONCATENATE

### EXACT

    public static final Function EXACT

### TEXT

    public static final Function TEXT

  An implementation of the TEXT function
  TEXT returns a number value formatted with the given number formatting string. This function is not a complete implementation of the Excel function, but handles most of the common cases. All work is passed down to `DataFormatter` to be done, as this works much the same as the display focused work that that does. Syntax:
  TEXT(value, format_text)

### FIND

    public static final Function FIND

  Implementation of the FIND() function.

  Syntax:
  FIND(find_text, within_text, start_num)

  FIND returns the character position of the first (case sensitive) occurrence of `find_text` inside `within_text`. The third parameter, `start_num`, is optional (default=1) and specifies where to start searching from. Character positions are 1-based.

  Author: Torstein Tauno Svendsen (torstei@officenet.no)

### SEARCH

    public static final Function SEARCH

  Implementation of the FIND() function.

  Syntax:
  SEARCH(find_text, within_text, start_num)

  SEARCH is a case-insensitive version of FIND()

Constructor Detail

### TextFunction

    public TextFunction()

Method Detail

### evaluateStringArg

    protected static final java.lang.String evaluateStringArg(ValueEval eval,
                                                              int srcRow,
                                                              int srcCol)
                                                       throws EvaluationException

  Throws:
    `EvaluationException`

### evaluateIntArg

    protected static final int evaluateIntArg(ValueEval arg,
                                              int srcCellRow,
                                              int srcCellCol)
                                       throws EvaluationException

  Throws:
    `EvaluationException`

### evaluateDoubleArg

    protected static final double evaluateDoubleArg(ValueEval arg,
                                                    int srcCellRow,
                                                    int srcCellCol)
                                             throws EvaluationException

  Throws:
    `EvaluationException`

### evaluate

    public final ValueEval evaluate(ValueEval[] args,
                                    int srcCellRow,
                                    int srcCellCol)

  Specified by:
    `evaluate` in interface `Function`
  Parameters:
    `args` - the evaluated function arguments. Empty values are represented with `BlankEval` or `MissingArgEval`, never `null`.
    `srcCellRow` - row index of the cell containing the formula under evaluation
    `srcCellCol` - column index of the cell containing the formula under evaluation
  Returns:
    The evaluated result, possibly an `ErrorEval`, never `null`. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate to `Double.NaN` be sure to translate the result to `ErrorEval.NUM_ERROR`.

### evaluateFunc

    protected abstract ValueEval evaluateFunc(ValueEval[] args,
                                              int srcCellRow,
                                              int srcCellCol)
                                       throws EvaluationException

  Throws:
    `EvaluationException`

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.