IronCalc Node.js
    Preparing search index...

    Class UserModel

    A workbook model implementing the "user" API: the same high level API used by the IronCalc web application. Every action evaluates the model, keeps undo/redo history and produces diffs for collaboration.

    Index
    addConditionalFormatting applyExternalDiffs autoFillColumns autoFillRows canRedo canUndo copyToClipboard createNamedStyle deleteColumns deleteConditionalFormatting deleteDefinedName deleteNamedStyle deleteRows deleteSheet duplicateSheet evaluate flushSendQueue getBuiltinNamedStyles getCellArrayStructure getCellContent getCellStyle getCellType getColumnWidth getConditionalFormattingList getDefinedNameList getDxfForConditionalFormatting getExtendedCellStyle getFirstNonEmptyInRowAfterColumn getFmtSettings getFormattedCellValue getFrozenColumnsCount getFrozenRowsCount getLanguage getLastNonEmptyInRowBeforeColumn getLocale getName getNamedStyle getNamedStyleIncludes getNamedStyleList getRowHeight getSelectedCell getSelectedSheet getSelectedView getSheetDimensions getShowGridLines getTheme getTimezone getWorksheetsProperties hideSheet insertColumns insertRows isValidDefinedName lowerConditionalFormattingPriority moveColumns moveRows moveSheet newDefinedName newSheet onApplyNamedStyle onPasteStyles pasteCsvString pasteFromClipboard pauseEvaluation raiseConditionalFormattingPriority rangeClearAll rangeClearContents rangeClearFormatting redo renameSheet resolveColor resumeEvaluation saveToIcalc saveToXlsx setAreaWithBorder setColumnsHidden setColumnsWidth setFrozenColumnsCount setFrozenRowsCount setLanguage setLocale setName setRowsHeight setRowsHidden setSelectedCell setSelectedRange setSelectedSheet setSheetColor setShowGridLines setTheme setTimezone setUserArrayFormula setUserInput toBytes undo unhideSheet updateConditionalFormatting updateDefinedName updateNamedStyle updateRangeStyle fromBytes fromIcalc fromXlsx
    • Creates an empty workbook. locale, timezone and languageId default to "en", "UTC" and "en".

      Parameters

      • name: string
      • Optionallocale: string | null
      • Optionaltimezone: string | null
      • OptionallanguageId: string | null

      Returns UserModel

    • Adds a conditional formatting rule to a range like "A1:B10". rule is an object, i.e. {type: "CellIs", operator: "GreaterThan", formula: "5", format: {fill: {color: "#FF0000"}}}

      Parameters

      Returns void

    • Applies a list of diffs produced by another model's flushSendQueue

      Parameters

      • externalDiffs: Uint8Array

      Returns void

    • Extends the content of the source area right/left until toColumn

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number
      • toColumn: number

      Returns void

    • Extends the content of the source area downwards/upwards until toRow

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number
      • toRow: number

      Returns void

    • Copies the selected area, returning an object with the csv text, the internal data and the copied range

      Returns Clipboard

    • Creates a new named style from a style object. includes selects which formatting categories the style carries; null means all of them.

      Parameters

      Returns void

    • Parameters

      • sheet: number
      • column: number
      • columnCount: number

      Returns void

    • Parameters

      • sheet: number
      • index: number

      Returns void

    • Parameters

      • name: string
      • Optionalscope: number | null

      Returns void

    • Parameters

      • name: string

      Returns void

    • Parameters

      • sheet: number
      • row: number
      • rowCount: number

      Returns void

    • Parameters

      • sheet: number

      Returns void

    • Parameters

      • sheet: number

      Returns void

    • Forces an evaluation of the workbook (only needed while paused)

      Returns void

    • Returns (and clears) the queue of diffs produced by local edits

      Returns Uint8Array

    • Returns information about the array (spill) structure of a cell

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns CellArrayStructure

    • Returns the content of a cell as the user would see it in the editor: the formula if there is one or the raw value otherwise

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns string

    • Returns the style of a cell

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns CellStyle

    • Returns the type of the content of a cell

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns CellType

    • Parameters

      • sheet: number
      • column: number

      Returns number

    • Returns the list of defined names as [{name, scope, formula}]. scope is omitted for globally scoped names.

      Returns DefinedName[]

    • Returns the differential style (dxf) applied by the rule at index

      Parameters

      • sheet: number
      • index: number

      Returns Dxf

    • Returns the style of a cell together with any conditional formatting decorations (icon, data bar, rating)

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns ExtendedCellStyle

    • Returns the first non-empty column in the row after column, if any

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns number | null

    • Returns the formatted value of a cell (i.e. "$ 5.75")

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns string

    • Parameters

      • sheet: number

      Returns number

    • Parameters

      • sheet: number

      Returns number

    • Returns the last non-empty column in the row before column, if any

      Parameters

      • sheet: number
      • row: number
      • column: number

      Returns number | null

    • Returns the name of the workbook

      Returns string

    • Returns the names of all named styles in the workbook

      Returns string[]

    • Parameters

      • sheet: number
      • row: number

      Returns number

    • Returns the selected cell as [sheet, row, column]

      Returns [number, number, number]

    • Returns the bounds of all non-empty cells as [minRow, maxRow, minColumn, maxColumn]. For an empty sheet returns [1, 1, 1, 1].

      Parameters

      • sheet: number

      Returns [number, number, number, number]

    • Parameters

      • sheet: number

      Returns boolean

    • Parameters

      • sheet: number

      Returns void

    • Parameters

      • sheet: number
      • column: number
      • columnCount: number

      Returns void

    • Parameters

      • sheet: number
      • row: number
      • rowCount: number

      Returns void

    • Throws if the defined name is not valid

      Parameters

      • name: string
      • scope: number | null | undefined
      • formula: string

      Returns void

    • Parameters

      • sheet: number
      • index: number

      Returns void

    • Moves columnCount columns starting at column by delta positions

      Parameters

      • sheet: number
      • column: number
      • columnCount: number
      • delta: number

      Returns void

    • Moves rowCount rows starting at row by delta positions

      Parameters

      • sheet: number
      • row: number
      • rowCount: number
      • delta: number

      Returns void

    • Moves the sheet to a new position in the list of sheets

      Parameters

      • sheet: number
      • newIndex: number

      Returns void

    • Creates a new defined name. scope is a sheet index or null for global scope.

      Parameters

      • name: string
      • scope: number | null | undefined
      • formula: string

      Returns void

    • Adds a new sheet with an automatically generated name

      Returns void

    • Applies a named style to the current selection. If the style is a built-in not yet in the workbook, it is added first.

      Parameters

      • name: string

      Returns void

    • Pastes a matrix of styles (list of rows, each a list of style objects) starting at the selected cell

      Parameters

      Returns void

    • Pastes a csv string starting at the top-left corner of the given area

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number
      • csv: string

      Returns void

    • Pastes data copied with copyToClipboard into the selected area

      Parameters

      • sourceSheet: number
      • sourceRange: [number, number, number, number]
      • clipboard: ClipboardData
      • isCut: boolean

      Returns void

    • Pauses automatic evaluation after each change

      Returns void

    • Parameters

      • sheet: number
      • index: number

      Returns void

    • Clears contents and formatting of all cells in the range

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number

      Returns void

    • Clears the contents of all cells in the range, keeping the formatting

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number

      Returns void

    • Clears the formatting of all cells in the range, keeping the contents

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number

      Returns void

    • Parameters

      • sheet: number
      • name: string

      Returns void

    • Resolves a color (null, "#RRGGBB" or [theme, tint]) to a CSS hex string using the current workbook theme. Returns "" for no color.

      Parameters

      • Optionalcolor: Color | null

      Returns string

    • Resumes automatic evaluation after each change

      Returns void

    • Saves the workbook to a file in the internal binary ic format

      Parameters

      • file: string

      Returns void

    • Saves the workbook to an xlsx file

      Parameters

      • file: string

      Returns void

    • Applies a border to an area. borderArea is an object like {item: {style: "thin", color: "#000000"}, type: "All"}

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number
      • borderArea: BorderArea

      Returns void

    • Parameters

      • sheet: number
      • columnStart: number
      • columnEnd: number
      • hidden: boolean

      Returns void

    • Parameters

      • sheet: number
      • columnStart: number
      • columnEnd: number
      • width: number

      Returns void

    • Parameters

      • sheet: number
      • count: number

      Returns void

    • Parameters

      • sheet: number
      • count: number

      Returns void

    • Parameters

      • language: string

      Returns void

    • Parameters

      • locale: string

      Returns void

    • Sets the name of the workbook

      Parameters

      • name: string

      Returns void

    • Parameters

      • sheet: number
      • rowStart: number
      • rowEnd: number
      • height: number

      Returns void

    • Parameters

      • sheet: number
      • rowStart: number
      • rowEnd: number
      • hidden: boolean

      Returns void

    • Parameters

      • row: number
      • column: number

      Returns void

    • Parameters

      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number

      Returns void

    • Parameters

      • sheet: number

      Returns void

    • Sets the sheet tab color. Accepts null, "#RRGGBB" or [theme, tint]

      Parameters

      • sheet: number
      • Optionalcolor: Color | null

      Returns void

    • Parameters

      • sheet: number
      • showGridLines: boolean

      Returns void

    • Parameters

      • timezone: string

      Returns void

    • Sets an array (spill) formula in the range

      Parameters

      • sheet: number
      • row: number
      • column: number
      • width: number
      • height: number
      • formula: string

      Returns void

    • Sets the user input in a cell: a value like "3.5", "Hello" or a formula like "=A1*2"

      Parameters

      • sheet: number
      • row: number
      • column: number
      • value: string

      Returns void

    • Returns the workbook as bytes in the internal binary ic format

      Returns Uint8Array

    • Parameters

      • sheet: number

      Returns void

    • Updates the conditional formatting rule at index

      Parameters

      • sheet: number
      • index: number
      • newRange: string
      • newRule: CfRuleInput

      Returns void

    • Parameters

      • name: string
      • scope: number | null | undefined
      • newName: string
      • newScope: number | null | undefined
      • newFormula: string

      Returns void

    • Updates (and possibly renames) an existing named style

      Parameters

      Returns void

    • Updates a single style property in all cells of the range. stylePath examples: "font.b", "font.color", "fill.color", "alignment.horizontal", "num_fmt". The value is always a string, i.e. "true", "#FF5566", "center", "#,##0.00".

      Parameters

      • sheet: number
      • startRow: number
      • startColumn: number
      • endRow: number
      • endColumn: number
      • stylePath: string
      • value: string

      Returns void

    • Creates a user model from bytes in the internal binary ic format

      Parameters

      • bytes: Uint8Array
      • OptionallanguageId: string | null

      Returns UserModel

    • Creates a user model from an icalc file

      Parameters

      • fileName: string
      • OptionallanguageId: string | null

      Returns UserModel

    • Creates a user model from an xlsx file

      Parameters

      • filePath: string
      • Optionallocale: string | null
      • Optionaltimezone: string | null
      • OptionallanguageId: string | null

      Returns UserModel