Skip to content

Class

+ new Config(options: Partial‹ConfigParams›, showDeprecatedWarns: boolean, notifyLicenseMessages: boolean): Config

Defined in hyperformula/src/Config.ts:181

Parameters:

Name Type Default
options Partial‹ConfigParams› {}
showDeprecatedWarns boolean true
notifyLicenseMessages boolean true

Returns: Config

Readonly

• accentSensitive: boolean

Defined in hyperformula/src/Config.ts:94

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

Applies only to comparison operators.

For more information, see the Types of operators guide.

default false


Readonly

• arrayColumnSeparator: “,” | “;”

Defined in hyperformula/src/Config.ts:104

Sets a column separator symbol for array notation.

For more information, see the Arrays guide.

default ‘,’


Readonly

• arrayRowSeparator: “;” | “|”

Defined in hyperformula/src/Config.ts:106

Sets a row separator symbol for array notation.

For more information, see the Arrays guide.

default ‘;’


Readonly

• caseFirst: “upper” | “lower” | “false”

Defined in hyperformula/src/Config.ts:96

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.

For more information, see the Types of operators guide.

default ‘lower’


Readonly

• caseSensitive: boolean

Defined in hyperformula/src/Config.ts:90

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

Applies to comparison operators only.

For more information, see the Types of operators guide.

default false


Readonly

• chooseAddressMappingPolicy: ChooseAddressMapping

Defined in hyperformula/src/Config.ts:92

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.

For more information, see the Performance guide.

default AlwaysDense


Readonly

• context: unknown

Defined in hyperformula/src/Config.ts:157

A generic parameter that can be used to pass data to custom functions.

For more information, see the Custom functions guide.

default undefined


Readonly

• currencySymbol: string[]

Defined in hyperformula/src/Config.ts:151

Sets symbols that denote currency numbers.

For more information, see the Internationalization features guide.

default [‘$’]


Readonly

• dateFormats: string[]

Defined in hyperformula/src/Config.ts:98

Sets the date formats accepted by the date-parsing function.

A format must be specified as a string consisting of tokens and separators.

Supported tokens:

  • DD (day of month)
  • MM (month as a number)
  • YYYY (year as a 4-digit number)
  • YY (year as a 2-digit number)

Supported separators:

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

Regardless of the separator specified in the format string, all of the above are accepted by the date-parsing function.

For more information, see the Date and time handling guide.

default [‘DD/MM/YYYY’, ‘DD/MM/YY’]


Readonly

• decimalSeparator: “.” | “,”

Defined in hyperformula/src/Config.ts:108

Sets a decimal separator used for parsing numerical literals.

Can be one of the following:

  • . (period)
  • , (comma)

Must be different from thousandSeparator and functionArgSeparator.

For more information, see the Internationalization features guide.

default ‘.’


Readonly

• evaluateNullToZero: boolean

Defined in hyperformula/src/Config.ts:127

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

default false


Readonly

• functionArgSeparator: string

Defined in hyperformula/src/Config.ts:102

Sets a separator character that separates procedure arguments in formulas.

Must be different from decimalSeparator and thousandSeparator.

For more information, see the Internationalization features guide.

default ‘,’


Readonly

• functionPlugins: FunctionPluginDefinition[]

Defined in hyperformula/src/Config.ts:119

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

For more information, see the Custom functions guide.

default []


Readonly

• ignorePunctuation: boolean

Defined in hyperformula/src/Config.ts:123

When set to true, string comparison ignores punctuation.

For more information, see the Types of operators guide.

default false


Readonly

• ignoreWhiteSpace: “standard” | “any”

Defined in hyperformula/src/Config.ts:114

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’


Readonly

• language: string

Defined in hyperformula/src/Config.ts:112

Sets a translation package for function and error names.

For more information, see the Localizing functions guide.

default ‘enGB’


Readonly

• leapYear1900: boolean

Defined in hyperformula/src/Config.ts:121

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 the Date and time handling guide and nullDate.

default false


Readonly

• licenseKey: string

Defined in hyperformula/src/Config.ts:116

Sets your HyperFormula license key.

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

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

For more information, go here.

default undefined


Readonly

• localeLang: string

Defined in hyperformula/src/Config.ts:125

Sets the locale for language-sensitive string comparison.

Accepts IETF BCP 47 language tags.

For more information, see the Internationalization features guide.

default ‘en’


Readonly

• matchWholeCell: boolean

Defined in hyperformula/src/Config.ts:181

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

When set to false, function criteria require just a sub-word to match the pattern.

default true


Readonly

• maxColumns: number

Defined in hyperformula/src/Config.ts:168

Sets the maximum number of columns.

default 18.278 (Columns A, B, …, ZZZ)


Readonly

• maxPendingLazyTransformations: number

Defined in hyperformula/src/Config.ts:155

Controls memory usage for long-running instances by limiting the number of pending lazy transformations before cleanup occurs.

Structural operations (adding/removing rows/columns, moving cells) create transformations that are applied lazily to formulas. This setting determines how many can accumulate before they are flushed and memory is reclaimed.

Lower values reduce peak memory usage but may slightly increase CPU overhead. Higher values reduce overhead but allow more memory accumulation.

default 50


Readonly

• maxRows: number

Defined in hyperformula/src/Config.ts:166

Sets the maximum number of rows.

default 40.000


Readonly

• nullDate: SimpleDate

Defined in hyperformula/src/Config.ts:149

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.

For more information, see the Date and time handling guide.

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


Readonly

• nullYear: number

Defined in hyperformula/src/Config.ts:129

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.

For more information, see the Date and time handling guide.

default 30


Readonly

• parseDateTime: function

Defined in hyperformula/src/Config.ts:131

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

The function should return a DateTime object or undefined.

For more information, see the Date and time handling guide.

default defaultParseToDateTime

▸ (dateTimeString: string, dateFormat?: undefined | string, timeFormat?: undefined | string): Maybe‹DateTime›

Parameters:

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

Readonly

• precisionEpsilon: number

Defined in hyperformula/src/Config.ts:139

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


Readonly

• precisionRounding: number

Defined in hyperformula/src/Config.ts:141

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).

Setting precisionRounding too high will expose the floating-point calculation errors. For example, with precisionRounding set to 15, 0.1 + 0.2 results in 0.3000000000000001.

default 10


Readonly

• smartRounding: boolean

Defined in hyperformula/src/Config.ts:143

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


Readonly

• stringifyCurrency: function

Defined in hyperformula/src/Config.ts:137

Sets a function that converts numeric values into currency-formatted strings.

The function receives the raw value and the format string passed to TEXT and should return a string or undefined. The formatter calls this for every format string that reaches it, not only currency-shaped ones — return undefined for any format your callback does not handle and HyperFormula will fall through to the built-in number formatter.

For more information, see the Currency handling guide.

default defaultStringifyCurrency

▸ (value: number, currencyFormat: string): Maybe‹string›

Parameters:

Name Type
value number
currencyFormat string

Readonly

• stringifyDateTime: function

Defined in hyperformula/src/Config.ts:133

Sets a function that converts date-time values into strings.

The function should return a string or undefined.

For more information, see the Date and time handling guide.

default defaultStringifyDateTime

▸ (date: SimpleDateTime, formatArg: string): Maybe‹string›

Parameters:

Name Type
date SimpleDateTime
formatArg string

Readonly

• stringifyDuration: function

Defined in hyperformula/src/Config.ts:135

Sets a function that converts time duration values into strings.

The function should return a string or undefined.

For more information, see the Date and time handling guide.

default defaultStringifyDuration

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

Parameters:

Name Type
time SimpleTime
formatArg string

Readonly

• thousandSeparator: “” | “,” | “ “ | “.”

Defined in hyperformula/src/Config.ts:110

Sets the thousands’ separator symbol for parsing numerical literals.

Can be one of the following:

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

Must be different from decimalSeparator and functionArgSeparator.

For more information, see the Internationalization features guide.

default ‘’


Readonly

• timeFormats: string[]

Defined in hyperformula/src/Config.ts:100

Sets the time formats accepted by the time-parsing function.

A format must be specified as a string consisting of at least two tokens separated by : (a colon).

Supported tokens:

  • hh (hours)
  • mm (minutes)
  • ss, ss.s, ss.ss, ss.sss, ss.ssss, etc. (seconds)

The number of decimal places in the seconds token does not matter. All versions of the seconds token are equivalent in the context of parsing time values. Regardless of the time format specified, the hours-minutes-seconds value may be followed by the AM/PM designator.

For more information, see the Date and time handling guide.

example E.g., for timeFormats = ['hh:mm:ss.sss'], valid time strings include:

  • 1:33:33
  • 1:33:33.3
  • 1:33:33.33
  • 1:33:33.333
  • 01:33:33
  • 1:33:33 AM
  • 1:33:33 PM
  • 1:33:33 am
  • 1:33:33 pm
  • 1:33:33AM
  • 1:33:33PM

default [‘hh:mm’, ‘hh:mm:ss.sss’]


Readonly

• undoLimit: number

Defined in hyperformula/src/Config.ts:153

Sets the number of elements kept in the undo history.

For more information, see the Undo-Redo guide.

default 20


Readonly

• useArrayArithmetic: boolean

Defined in hyperformula/src/Config.ts:88

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


Readonly

• useColumnIndex: boolean

Defined in hyperformula/src/Config.ts:145

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).

For more information, see the Performance guide.

default false


Readonly

• useRegularExpressions: boolean

Defined in hyperformula/src/Config.ts:177

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

default false


Readonly

• useStats: boolean

Defined in hyperformula/src/Config.ts:147

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

Useful for testing and benchmarking.

default false


Readonly

• useWildcards: boolean

Defined in hyperformula/src/Config.ts:179

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

default true

▸ getConfig(): ConfigParams

Defined in hyperformula/src/Config.ts:364

Returns: ConfigParams


▸ mergeConfig(init: Partial‹ConfigParams›, notifyLicenseMessages: boolean): Config

Defined in hyperformula/src/Config.ts:368

Parameters:

Name Type Default
init Partial‹ConfigParams› -
notifyLicenseMessages boolean true

Returns: Config

Static

Defined in hyperformula/src/Config.ts:44

• accentSensitive: false = false

Defined in hyperformula/src/Config.ts:45

• arrayColumnSeparator: “,” = “,”

Defined in hyperformula/src/Config.ts:63

• arrayRowSeparator: “;” = “;”

Defined in hyperformula/src/Config.ts:64

• caseFirst: “lower” = “lower”

Defined in hyperformula/src/Config.ts:48

• caseSensitive: false = false

Defined in hyperformula/src/Config.ts:47

• chooseAddressMappingPolicy: AlwaysDense‹› = new AlwaysDense()

Defined in hyperformula/src/Config.ts:50

• context: undefined = undefined

Defined in hyperformula/src/Config.ts:49

• currencySymbol: string[] = [‘$’]

Defined in hyperformula/src/Config.ts:46

• dateFormats: string[] = [‘DD/MM/YYYY’, ‘DD/MM/YY’]

Defined in hyperformula/src/Config.ts:51

• decimalSeparator: “.” = “.”

Defined in hyperformula/src/Config.ts:52

• evaluateNullToZero: false = false

Defined in hyperformula/src/Config.ts:53

• functionArgSeparator: string = “,”

Defined in hyperformula/src/Config.ts:54

• functionPlugins: never[] = []

Defined in hyperformula/src/Config.ts:55

• ignorePunctuation: false = false

Defined in hyperformula/src/Config.ts:56

• ignoreWhiteSpace: “standard” = “standard”

Defined in hyperformula/src/Config.ts:58

• language: string = “enGB”

Defined in hyperformula/src/Config.ts:57

• leapYear1900: false = false

Defined in hyperformula/src/Config.ts:60

• licenseKey: string = “”

Defined in hyperformula/src/Config.ts:59

• localeLang: string = “en”

Defined in hyperformula/src/Config.ts:61

• matchWholeCell: true = true

Defined in hyperformula/src/Config.ts:62

• maxColumns: number = 18278

Defined in hyperformula/src/Config.ts:66

• maxPendingLazyTransformations: number = 50

Defined in hyperformula/src/Config.ts:79

• maxRows: number = 40000

Defined in hyperformula/src/Config.ts:65

• nullYear: number = 30

Defined in hyperformula/src/Config.ts:67

• parseDateTime: defaultParseToDateTime = defaultParseToDateTime

Defined in hyperformula/src/Config.ts:69

• precisionEpsilon: number = 1e-13

Defined in hyperformula/src/Config.ts:70

• precisionRounding: number = 10

Defined in hyperformula/src/Config.ts:71

• smartRounding: true = true

Defined in hyperformula/src/Config.ts:72

• stringifyCurrency: defaultStringifyCurrency = defaultStringifyCurrency

Defined in hyperformula/src/Config.ts:75

• stringifyDateTime: defaultStringifyDateTime = defaultStringifyDateTime

Defined in hyperformula/src/Config.ts:73

• stringifyDuration: defaultStringifyDuration = defaultStringifyDuration

Defined in hyperformula/src/Config.ts:74

• thousandSeparator: “” = “”

Defined in hyperformula/src/Config.ts:77

• timeFormats: string[] = [‘hh:mm’, ‘hh:mm:ss.sss’]

Defined in hyperformula/src/Config.ts:76

• undoLimit: number = 20

Defined in hyperformula/src/Config.ts:78

• useArrayArithmetic: false = false

Defined in hyperformula/src/Config.ts:84

• useColumnIndex: false = false

Defined in hyperformula/src/Config.ts:82

• useRegularExpressions: false = false

Defined in hyperformula/src/Config.ts:80

• useStats: false = false

Defined in hyperformula/src/Config.ts:83

• useWildcards: true = true

Defined in hyperformula/src/Config.ts:81

▪ nullDate: object

Defined in hyperformula/src/Config.ts:68

  • day: number = 30

  • month: number = 12

  • year: number = 1899