HyperFormula is an open-source headless spreadsheet for business web apps. It comes with over 400 formulas, CRUD operations, undo-redo, clipboard support, and sorting. Built in TypeScript, supported by the Handsontable Team.
GPL-3.0 License
Bot releases are hidden (Show)
unorm
dependency. #1370
Published by sequba 10 months ago
simpleCellAddressFromString()
method was crashing when called with a non-ASCII character in an unquoted sheet name. #1312
Maximum call stack size exceeded
error. #1332
Incorrect array size
error. #1147
HyperFormula
class. #1323
EmptyValue
symbol as a public API. This allows custom functions to handle empty cellupdateConfig()
method to rebuild HyperFormula only when the new configuration is different from the old one. #1251
CellError
class as a public API. #1232
SimpleRangeValue
class as a public API. #1178
EmptyCellVertex
data integrity issue between the AddressMapping
and DependencyGraph
objects. #1188
removeColumns()
depended on the address mapping policy. #1205
R4C5
, RC1000
, R1C
or RC
can't be used in expression namesIncorrect array size
error. #1106
removeSheet()
) without clearing itclearSheet()
) could cause an error. #1121
enUS
) language pack. It's a convenience alias: it contains the same translations as the existing British English (enGB
) language pack. #1025
timeFormats
configuration option. Now, time values are always rounded to the nearest millisecond (0.001 s). #953
For more information on this release, see:
ignoreWhiteSpace
, which allows for parsing formulas that contain whitespace characters of any kind. #898
gpu.js
dependency and its use, to speed up the installation time. #812
gpujs
and gpuMode
configuration options. #812
defaultConfig
. (#822)getFillRangeData()
method can now use one sheet for its source and another sheet for its target. (#836)PROPER
function. (#811)SUMPRODUCT
function. (#810)binarySearchThreshold
configuration option, as every search of sorted data always uses binary search. (#791)calculateFormula()
method. (#782)CellType
returned by getCellType
: CellType.ARRAYFORMULA
. It's assigned to the top-left corner of an array, and is recognized by the isCellPartOfArray()
and doesCellHaveFormula()
methods. (#781)destroy
method to properly destroy HyperFormula instances. (#788){=FORMULA}
) notation. Engine now supports formulas returning array of values (instead of only scalars). #652
SimpleCellRange
type argument: copy
, cut
, getCellDependents
, getCellPrecedents
, getFillRangeData
, getRangeFormulas
, getRangeSerialized
, getRangeValues
, isItPossibleToMoveCells
, isItPossibleToSetCellContents
, moveCells
. #687
setCellContents
so that it is possible to override space occupied by spilled array. #708
addRows/removeRows
so that it is possible to add/remove rows across spilled array without changing array size. #708
addColumns/removeColumns
so that it is possible to add/remove columns across spilled array without changing array size. #732
before | after |
---|---|
matrixColumnSeparator | arrayColumnSeparator |
matrixRowSeparator | arrayRowSeparator |
before | after |
---|---|
matrixMapping | arrrayMapping |
isCellPartOfMatrix | isCellPartOfArray |
before | after |
---|---|
SourceLocationHasMatrixError | SourceLocationHasArrayError |
TargetLocationHasMatrixError | TargetLocationHasArrayError |
gpu.js
making it even more optional #753
Date()
objects on the input. #648
getAllNamedExpressionsSerialized
method. #680
simpleCellRangeFromString
and simpleCellRangeToString
helpers. #720
CellError
to exports. #736
AlwaysDense
, AlwaysSparse
, DenseSparseChooseBasedOnThreshold
. #747
#SPILL!
error type. #708
getFillRangeData
to support different types of offsetting. #767
GPU.js
from dependencies
to devDependencies
and optionalDependencies
. (#642)listNamedExpressions
method. (#638)