# ConfigParams Interface

# License

# licenseKey

licenseKey: string

Defined in src/Config.ts:203 (opens new window)

Sets your HyperFormula license key.

To use HyperFormula on the GPLv3 license terms, set this option to gpl-v3.

To use HyperFormula with your commercial license, set this option to your valid license key string.

For more information, go here.

default undefined

# Engine

# binarySearchThreshold

binarySearchThreshold: number

Defined in src/Config.ts:48 (opens new window)

Sets a minimum number of elements that a range must have to use binary search.

deprecated Every search of sorted data always uses binary search.

default 20

# chooseAddressMappingPolicy

chooseAddressMappingPolicy: ChooseAddressMapping

Defined in src/Config.ts:83 (opens new window)

Sets the address mapping policy to be used.

Built-in implementations:

  • DenseSparseChooseBasedOnThreshold: sets the address mapping policy separately for each sheet, based on fill ratio.
  • AlwaysDense: uses DenseStrategy for all sheets.
  • AlwaysSparse: uses SparseStrategy for all sheets.

default AlwaysDense

# evaluateNullToZero

evaluateNullToZero: boolean

Defined in src/Config.ts:140 (opens new window)

When set to true, formulas evaluating to null evaluate to 0 instead.

default false

# maxColumns

maxColumns: number

Defined in src/Config.ts:252 (opens new window)

Sets the maximum number of columns.

default 18,278

# maxRows

maxRows: number

Defined in src/Config.ts:244 (opens new window)

Sets the maximum number of rows.

default 40,000

# useArrayArithmetic

useArrayArithmetic: boolean

Defined in src/Config.ts:386 (opens new window)

When set to true, array arithmetic is enabled globally.

When set to false, array arithmetic is enabled only inside array functions (ARRAYFORMULA, FILTER, and ARRAY_CONSTRAIN).

For more information, see the Arrays guide.

default false

# useColumnIndex

useColumnIndex: boolean

Defined in src/Config.ts:398 (opens new window)

When set to true, switches column search strategy from binary search to column index.

Using column index improves efficiency of the VLOOKUP and MATCH functions, but increases memory usage.

When searching with wildcards or regular expressions, column search strategy falls back to binary search (even with useColumnIndex set to true).

default false

# useStats

useStats: boolean

Defined in src/Config.ts:408 (opens new window)

When set to true, enables gathering engine statistics and timings.

Useful for testing and benchmarking.

default false

# Formula Syntax

# arrayColumnSeparator

arrayColumnSeparator: "," | ";"

Defined in src/Config.ts:229 (opens new window)

Sets a column separator symbol for array notation.

default ','

# arrayRowSeparator

arrayRowSeparator: ";" | "|"

Defined in src/Config.ts:236 (opens new window)

Sets a row separator symbol for array notation.

default ';'

# functionArgSeparator

functionArgSeparator: string

Defined in src/Config.ts:118 (opens new window)

Sets a separator character that separates procedure arguments in formulas.

Must be different from decimalSeparator and thousandSeparator.

default ','

# functionPlugins

functionPlugins: any[]

Defined in src/Config.ts:149 (opens new window)

Lists additional function plugins to be used by the formula interpreter.

default []

# ignoreWhiteSpace

ignoreWhiteSpace: "standard" | "any"

Defined in src/Config.ts:177 (opens new window)

Controls the set of whitespace characters that are allowed inside a formula.

When set to 'standard', allows only SPACE (U+0020), CHARACTER TABULATION (U+0009), LINE FEED (U+000A), and CARRIAGE RETURN (U+000D) (compliant with OpenFormula Standard 1.3)

When set to 'any', allows all whitespace characters that would be captured by the \s character class of the JavaScript regular expressions.

default 'standard'

# language

language: string

Defined in src/Config.ts:165 (opens new window)

Sets a translation package for function and error names.

default 'enGB'

# Undo and Redo

# undoLimit

undoLimit: number

Defined in src/Config.ts:416 (opens new window)

Sets the number of elements kept in the undo history.

default 20

# Date and Time

# dateFormats

dateFormats: string[]

Defined in src/Config.ts:108 (opens new window)

Sets date formats that are supported by date-parsing functions.

The separator is ignored and can be any of the following:

  • - (dash)
  • (empty space)
  • / (slash)

YY can be replaced with YYYY.

Any order of YY, MM, and DD is accepted as a date.

default ['DD/MM/YYYY', 'DD/MM/YY']

# leapYear1900

leapYear1900: boolean

Defined in src/Config.ts:189 (opens new window)

Sets year 1900 as a leap year.

For compatibility with Lotus 1-2-3 and Microsoft Excel, set this option to true.

For more information, see nullDate.

default false

# nullDate

nullDate: SimpleDate

Defined in src/Config.ts:262 (opens new window)

Internally, each date is represented as a number of days that passed since nullDate.

This option sets a specific date from which that number of days is counted.

default {year: 1899, month: 12, day: 30}

# nullYear

nullYear: number

Defined in src/Config.ts:276 (opens new window)

Sets the interpretation of two-digit year values.

Two-digit year values (xx) can either become 19xx or 20xx.

If xx is less or equal to nullYear, two-digit year values become 20xx.

If xx is more than nullYear, two-digit year values become 19xx.

default 30

# parseDateTime

parseDateTime: function

Defined in src/Config.ts:284 (opens new window)

Sets a function that parses strings representing date-time into actual date-time.

default defaultParseToDateTime

# Type declaration:

▸ (dateTimeString: string, dateFormat?: undefined | string, timeFormat?: undefined | string): MaybeDateTime


Name Type
dateTimeString string
dateFormat? undefined | string
timeFormat? undefined | string

# stringifyDateTime

stringifyDateTime: function

Defined in src/Config.ts:326 (opens new window)

Sets a function that converts date-time into strings.

default defaultStringifyDateTime

# Type declaration:

▸ (dateTime: SimpleDateTime, dateTimeFormat: string): Maybe‹string›


Name Type
dateTime SimpleDateTime
dateTimeFormat string

# stringifyDuration

stringifyDuration: function

Defined in src/Config.ts:334 (opens new window)

Sets a function that converts time duration into strings.

default defaultStringifyDuration

# Type declaration:

▸ (time: SimpleTime, timeFormat: string): Maybe‹string›


Name Type
time SimpleTime
timeFormat string

# timeFormats

timeFormats: string[]

Defined in src/Config.ts:374 (opens new window)

Sets time formats that will be supported by time-parsing functions.

The separator is : (colon).

Accepts any configuration of at least two of the following, in any order:

  • hh: hours
  • mm: minutes
  • ss: seconds

default ['hh:mm', 'hh:mm:ss.sss']

# Number

# currencySymbol

currencySymbol: string[]

Defined in src/Config.ts:91 (opens new window)

Sets symbols that denote currency numbers.

default ['$']

# decimalSeparator

decimalSeparator: "." | ","

Defined in src/Config.ts:132 (opens new window)

Sets a decimal separator used for parsing numerical literals.

Can be one of the following:

  • . (period)
  • , (comma)

Must be different from thousandSeparator and functionArgSeparator.

default '.'

# precisionEpsilon

precisionEpsilon: number

Defined in src/Config.ts:301 (opens new window)

Sets how far two numerical values need to be from each other to be treated as non-equal.

a and b are equal if all three of the following conditions are met:

  • Both a and b are of the same sign
  • abs(a) <= (1+precisionEpsilon) * abs(b)
  • abs(b) <= (1+precisionEpsilon) * abs(a)

Additionally, this option controls the snap-to-zero behavior for additions and subtractions:

  • For c=a+b, if abs(c) <= precisionEpsilon * abs(a), then c is set to 0
  • For c=a-b, if abs(c) <= precisionEpsilon * abs(a), then c is set to 0

default 1e-13

# precisionRounding

precisionRounding: number

Defined in src/Config.ts:318 (opens new window)

Sets the precision level of calculations' output.

Internally, all arithmetic operations are performed using JavaScript's built-in numbers. But when HyperFormula exports a cell's value, it rounds the output to the precisionRounding number of significant digits.

Setting precisionRounding too low can cause large numbers' imprecision (for example, with precisionRounding set to 4, 100005 becomes 100010).

We recommend setting precisionRounding to a value between 10 and 14.

default 14

# smartRounding

smartRounding: boolean

Defined in src/Config.ts:344 (opens new window)

When set to false, no rounding happens, and numbers are equal if and only if they are of truly identical value.

For more information, see precisionEpsilon.

default true

# thousandSeparator

thousandSeparator: "" | "," | " " | "."

Defined in src/Config.ts:359 (opens new window)

Sets a thousands separator symbol for parsing numerical literals.

Can be one of the following:

  • empty
  • , (comma)
  • (empty space)

Must be different from decimalSeparator and functionArgSeparator.

default ''

# String

# accentSensitive

accentSensitive: boolean

Defined in src/Config.ts:38 (opens new window)

When set to true, makes string comparison accent-sensitive.

Applies only to comparison operators.

default false

# caseFirst

caseFirst: "upper" | "lower" | "false"

Defined in src/Config.ts:70 (opens new window)

When set to upper, upper case sorts first.

When set to lower, lower case sorts first.

When set to false, uses the locale's default.

default 'lower'

# caseSensitive

caseSensitive: boolean

Defined in src/Config.ts:58 (opens new window)

When set to true, makes string comparison case-sensitive.

Applies to comparison operators only.

default false

# ignorePunctuation

ignorePunctuation: boolean

Defined in src/Config.ts:157 (opens new window)

When set to true, string comparison ignores punctuation.

default false

# localeLang

localeLang: string

Defined in src/Config.ts:213 (opens new window)

Sets the locale for language-sensitive string comparison.

Accepts IETF BCP 47 language tags.

default 'en'

# matchWholeCell

matchWholeCell: boolean

Defined in src/Config.ts:222 (opens new window)

When set to true, function criteria require whole cells to match the pattern.

When set to false, function criteria require just a subword to match the pattern.

default true

# useRegularExpressions

useRegularExpressions: boolean

Defined in src/Config.ts:423 (opens new window)

When set to true, criteria in functions (SUMIF, COUNTIF, ...) are allowed to use regular expressions.

default false

# useWildcards

useWildcards: boolean

Defined in src/Config.ts:430 (opens new window)

When set to true, criteria in functions (SUMIF, COUNTIF, ...) can use the * and ? wildcards.

default true