Version: 1.1
Category: Spreadsheet Integration
Library: Jspreadsheet CE

neoSheet brings full-featured spreadsheet functionality to your VisualNEO Web applications, powered by the open-source Jspreadsheet CE library.
It allows you to create interactive, Excel-like tables directly inside your app, complete with multiple worksheets, formulas, column and row operations, cell styling, and user-friendly editing tools—all handled entirely within the browser.

Designed for both simplicity and depth, neoSheet supports everything from lightweight data grids to complex multi-sheet dashboards. You can programmatically manipulate data, customize columns and rows, define custom formulas, and control every aspect of the spreadsheet's behavior, including user permissions and interface elements such as toolbars, tabs, and context menus.

Key Features

  • Fully interactive spreadsheet engine integrated into VisualNEO Web.
  • Supports multiple worksheets, tabs, and pagination.
  • Create, edit, sort, and format data programmatically or via UI.
  • Full control over rows, columns, cells, and styles.
  • Define custom formulas using JavaScript expressions.
  • Import/export complete configurations, data, and structure.
  • Enable or restrict user actions (insert, delete, resize, rename, etc.).
  • Get and set data, cell values, formatting, and comments dynamically.
  • Undo/redo support and action history management.
  • Download spreadsheet contents as CSV files.

Typical Use Cases

  • Building data entry forms, inventory lists, or contact databases.
  • Developing financial, academic, or project-tracking tools.
  • Implementing interactive dashboards or dynamic reports.
  • Creating multi-user data grids in SaaS or educational apps.
  • Managing tabular data imported/exported from external sources

 

neoSheetInit

Purpose:

Initialize a Jspreadsheet sheet with size, toolbar, tabs, data, columns and context menu

Category:

neoSheet

Syntax:

neoSheetInit "objId" ncolumns nrows toolbar tabs contextMenu thepagination "dataVarOrJson" "columnsVarOrJson" columnDrag columnResize columnSorting allowRenameColumn allowDeleteColumn allowInsertColumn allowInsertRow allowDeleteRow rowResize callback

 

objId

Container object

ncolumns

Number of columns

nrows

Number of rows

toolbar

Show toolbar?

tabs

Show tabs?

contextMenu

Enable right-click context menu?

thepagination

Rows per page (leave empty for no pagination)

dataVarOrJson

Data array JSON or variable

columnsVarOrJson

Column definitions JSON or variable

columnDrag

Allow column dragging?

columnResize

Allow column resizing?

columnSorting

Allow column sorting?

allowRenameColumn

Allow renaming columns?

allowDeleteColumn

Allow deleting columns?

allowInsertColumn

Allow inserting columns?

allowInsertRow

Allow inserting rows?

allowDeleteRow

Allow deleting rows?

rowResize

Allow resizing rows?

callback

Subroutine to manage sheet events (optional)

 

neoSheetDefineColumn

Purpose:

Add a new column definition to a column array. Use before neoSheetInit

Category:

neoSheet

Syntax:

neoSheetDefineColumn columnsVar "title" type "width" "extra" "sourceCsv"

 

columnsVar

Array variable holding column definitions

title

Column title

type

Column type

width

Optional width (e.g. 100px)

extra

Mask (text) or format (number)

sourceCsv

Dropdown values (comma-separated, only for dropdown)

 

neoSheetAddDataRow

Purpose:

Add a row of data to an existing data array variable using | as separator

Category:

neoSheet

Syntax:

neoSheetAddDataRow dataVar "pipeSeparatedRow"

 

dataVar

Array variable holding data

pipeSeparatedRow

Values separated by pipe character

 

neoSheetGetData

Purpose:

Get data from selected worksheet

Category:

neoSheet

Syntax:

neoSheetGetData "objId" sheetIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

resultVar

Variable to store result

 

neoSheetSetData

Purpose:

Replace worksheet data

Category:

neoSheet

Syntax:

neoSheetSetData "objId" sheetIndex "dataVarOrJson"

 

objId

Container object

sheetIndex

Worksheet index

dataVarOrJson

JSON or variable name with array of data

 

neoSheetGetCellValue

Purpose:

Get a cell value from a worksheet

Category:

neoSheet

Syntax:

neoSheetGetCellValue "objId" sheetIndex "cellRef" computed resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (ex: B2)

computed

Get calculated value?

resultVar

Variable to store result

 

neoSheetSetCellValue

Purpose:

Set a cell value in a worksheet

Category:

neoSheet

Syntax:

neoSheetSetCellValue "objId" sheetIndex "cellRef" "newValue"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (ex: B2)

newValue

Value

 

neoSheetClear

Purpose:

Clear worksheet content

Category:

neoSheet

Syntax:

neoSheetClear "objId" sheetIndex

 

objId

Container object

sheetIndex

Worksheet index

 

neoSheetGetCellBackgroundColor

Purpose:

Get background color of a specific cell

Category:

neoSheet

Syntax:

neoSheetGetCellBackgroundColor "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (ex: A1)

resultVar

Variable to store color

 

neoSheetSetCellBackgroundColor

Purpose:

Set background color of a specific cell

Category:

neoSheet

Syntax:

neoSheetSetCellBackgroundColor "objId" sheetIndex "cellRef" "color"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (ex: A1)

color

CSS background color

 

neoSheetGetConfig

Purpose:

Get the full spreadsheet configuration and data (for cloning or exporting)

Category:

neoSheet

Syntax:

neoSheetGetConfig "objId" resultVar

 

objId

Container object

resultVar

Variable to store configuration object

 

neoSheetSetConfig

Purpose:

Create spreadsheet using a full configuration and data object

Category:

neoSheet

Syntax:

neoSheetSetConfig "objId" configVarOrObj

 

objId

Container object

configVarOrObj

Variable populated with full config JSON

 

neoSheetDefineFormula

Purpose:

Define a custom formula that accepts a single value, multiple arguments or ranges. Use 'value' for single value and '...value' for multiple arguments or ranges.

Category:

neoSheet

Syntax:

neoSheetDefineFormula "formName" "expressionraw"

 

formName

Name of the formula in uppercase (e.g., MYFUNC)

expressionraw

JavaScript expression using 'value' (e.g., Math.max(...value))

 

neoSheetGetColumnWidth

Purpose:

Get the width of a specific column

Category:

neoSheet

Syntax:

neoSheetGetColumnWidth "objId" sheetIndex colIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

resultVar

Variable to store width

 

neoSheetSetColumnWidth

Purpose:

Set the width of a specific column

Category:

neoSheet

Syntax:

neoSheetSetColumnWidth "objId" sheetIndex colIndex newWidth

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

newWidth

Width in pixels

 

neoSheetMoveColumn

Purpose:

Move a column from one index to another

Category:

neoSheet

Syntax:

neoSheetMoveColumn "objId" sheetIndex fromIndex toIndex

 

objId

Container object

sheetIndex

Worksheet index

fromIndex

Column index to move

toIndex

Target index for the column

 

neoSheetInsertColumn

Purpose:

Insert one or more columns

Category:

neoSheet

Syntax:

neoSheetInsertColumn "objId" sheetIndex numOfColumns colIndex insertBefore

 

objId

Container object

sheetIndex

Worksheet index

numOfColumns

Number of columns to insert

colIndex

Column index for insertion reference

insertBefore

Insert before or after reference column

 

neoSheetDeleteColumn

Purpose:

Delete one or more columns starting from a given index

Category:

neoSheet

Syntax:

neoSheetDeleteColumn "objId" sheetIndex colIndex count

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Start column index

count

Number of columns to delete

 

neoSheetTranslate

Purpose:

Translate a specific context menu phrase into another language

Category:

neoSheet

Syntax:

neoSheetTranslate sourceText "translatedText"

 

sourceText

Chose a string to translate (replace space with _ )

translatedText

Translated phrase to display

 

neoSheetClearTranslations

Purpose:

Reset all Jspreadsheet translations to English

Category:

neoSheet

Syntax:

neoSheetClearTranslations

 

 

neoSheetGetColumnTitle

Purpose:

Get the title of a specific column

Category:

neoSheet

Syntax:

neoSheetGetColumnTitle "objId" sheetIndex colIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

resultVar

Variable to store title

 

neoSheetSetColumnTitle

Purpose:

Set the title of a specific column

Category:

neoSheet

Syntax:

neoSheetSetColumnTitle "objId" sheetIndex colIndex "newTitle"

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

newTitle

The new title for the column

 

neoSheetGetHeaders

Purpose:

Get all column headers separated by commas

Category:

neoSheet

Syntax:

neoSheetGetHeaders "objId" sheetIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

resultVar

Variable to store the headers array

 

neoSheetSortByColumn

Purpose:

Sort the table by a specific column

Category:

neoSheet

Syntax:

neoSheetSortByColumn "objId" sheetIndex colIndex order

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based) to sort by

order

Sort order. ASC for ascending, DESC for descending

 

neoSheetGetComments

Purpose:

Get the comments from a cell

Category:

neoSheet

Syntax:

neoSheetGetComments "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

resultVar

Variable to store the comments

 

neoSheetSetComments

Purpose:

Set the comments for a cell

Category:

neoSheet

Syntax:

neoSheetSetComments "objId" sheetIndex "cellRef" "comments"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

comments

Comments to set

 

neoSheetGetColumnData

Purpose:

Get the data of a specific column into an Array variable

Category:

neoSheet

Syntax:

neoSheetGetColumnData "objId" sheetIndex colIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

resultVar

Variable to store the column data array

 

neoSheetSetColumnData

Purpose:

Set the data for a specific column

Category:

neoSheet

Syntax:

neoSheetSetColumnData "objId" sheetIndex colIndex "dataVarOrArray"

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

dataVarOrArray

Array or variable with column data

 

neoSheetInsertRow

Purpose:

Insert one or more rows

Category:

neoSheet

Syntax:

neoSheetInsertRow "objId" sheetIndex numOfRows rowIndex insertBefore

 

objId

Container object

sheetIndex

Worksheet index

numOfRows

Number of rows to insert

rowIndex

Row index for insertion reference

insertBefore

Insert before or after reference row

 

neoSheetDeleteRow

Purpose:

Delete one or more rows

Category:

neoSheet

Syntax:

neoSheetDeleteRow "objId" sheetIndex rowIndex numOfRows

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index to start deletion

numOfRows

Number of rows to delete

 

neoSheetMoveRow

Purpose:

Move a row to a new position

Category:

neoSheet

Syntax:

neoSheetMoveRow "objId" sheetIndex fromIndex toIndex

 

objId

Container object

sheetIndex

Worksheet index

fromIndex

The row index to move from

toIndex

The row index to move to

 

neoSheetGetRowData

Purpose:

Get the data of a specific row

Category:

neoSheet

Syntax:

neoSheetGetRowData "objId" sheetIndex rowIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

resultVar

Variable to store the row data array

 

neoSheetSetRowData

Purpose:

Set the data for a specific row

Category:

neoSheet

Syntax:

neoSheetSetRowData "objId" sheetIndex rowIndex "dataVarOrArray"

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

dataVarOrArray

Array or variable with row data

 

neoSheetGetRowId

Purpose:

Get the row ID for a given row index

Category:

neoSheet

Syntax:

neoSheetGetRowId "objId" sheetIndex rowIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

resultVar

Variable to store the row ID

 

neoSheetGetRowHeight

Purpose:

Get the height of a specific row

Category:

neoSheet

Syntax:

neoSheetGetRowHeight "objId" sheetIndex rowIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

resultVar

Variable to store the height

 

neoSheetSetRowHeight

Purpose:

Set the height for a specific row

Category:

neoSheet

Syntax:

neoSheetSetRowHeight "objId" sheetIndex rowIndex newHeight

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

newHeight

The new height for the row

 

neoSheetGetRowProperties

Purpose:

Get properties of a specific row

Category:

neoSheet

Syntax:

neoSheetGetRowProperties "objId" sheetIndex rowIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

resultVar

Variable to store the properties object

 

neoSheetSetRowProperties

Purpose:

Set properties for a specific row

Category:

neoSheet

Syntax:

neoSheetSetRowProperties "objId" sheetIndex rowIndex "propertiesObj"

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

propertiesObj

JSON or variable with properties object

 

neoSheetUpdateCellProperty

Purpose:

Update a property for a specific cell

Category:

neoSheet

Syntax:

neoSheetUpdateCellProperty "objId" sheetIndex "cellRef" "property" "value"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

property

The property to update

value

The new value for the property

 

neoSheetGetFormattedValue

Purpose:

Get the formatted value of a cell

Category:

neoSheet

Syntax:

neoSheetGetFormattedValue "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

resultVar

Variable to store the formatted value

 

neoSheetSetCellStyle

Purpose:

pply direct CSS styles to a cell (e.g. text-align:left;background-color:yellow)

Category:

neoSheet

Syntax:

neoSheetSetCellStyle "objId" sheetIndex "cellRef" "styleObj"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

styleObj

CSS style string (semicolon-separated)

 

neoSheetRemoveCellStyle

Purpose:

Remove style from a specific cell

Category:

neoSheet

Syntax:

neoSheetRemoveCellStyle "objId" sheetIndex "cellRef" "styleKeys"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

styleKeys

Comma-separated list of style keys to remove

 

neoSheetGetCellStyle

Purpose:

Get the style of a specific cell

Category:

neoSheet

Syntax:

neoSheetGetCellStyle "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

resultVar

Variable to store the style object

 

neoSheetSetCellReadOnly

Purpose:

Set a cell as read-only or not

Category:

neoSheet

Syntax:

neoSheetSetCellReadOnly "objId" sheetIndex "cellRef" isReadOnly

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

isReadOnly

True for read-only, false for writable

 

neoSheetSetRangeReadOnly

Purpose:

Set or unset read-only mode for a range of cells

Category:

neoSheet

Syntax:

neoSheetSetRangeReadOnly "objId" sheetIndex "cellRange" isReadOnly

 

objId

Container object

sheetIndex

Worksheet index

cellRange

Cell or range (e.g. A1 or A1:C3)

isReadOnly

true = block, false = allow edit

 

neoSheetSetColumnReadOnly

Purpose:

Set or unset read-only mode for an entire column

Category:

neoSheet

Syntax:

neoSheetSetColumnReadOnly "objId" sheetIndex colIndex isReadOnly

 

objId

Container object

sheetIndex

Worksheet index

colIndex

Column index (0-based)

isReadOnly

true = block, false = allow edit

 

neoSheetSetRowReadOnly

Purpose:

Set or unset read-only mode for an entire row

Category:

neoSheet

Syntax:

neoSheetSetRowReadOnly "objId" sheetIndex rowIndex isReadOnly

 

objId

Container object

sheetIndex

Worksheet index

rowIndex

Row index (0-based)

isReadOnly

true = block, false = allow edit

 

neoSheetIsCellReadOnly

Purpose:

Check if a cell is read-only

Category:

neoSheet

Syntax:

neoSheetIsCellReadOnly "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

resultVar

Variable to store the result (true/false)

 

neoSheetGetValueById

Purpose:

Get a cell value by its ID

Category:

neoSheet

Syntax:

neoSheetGetValueById "objId" sheetIndex "id" resultVar

 

objId

Container object

sheetIndex

Worksheet index

id

The ID of the cell

resultVar

Variable to store the value

 

neoSheetSetValueById

Purpose:

Set a cell value by its ID

Category:

neoSheet

Syntax:

neoSheetSetValueById "objId" sheetIndex "id" "newValue"

 

objId

Container object

sheetIndex

Worksheet index

id

The ID of the cell

newValue

The new value to set

 

neoSheetGetCellObject

Purpose:

Get the cell object

Category:

neoSheet

Syntax:

neoSheetGetCellObject "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

resultVar

Variable to store the cell object

 

neoSheetCreateWorksheet

Purpose:

Create a new worksheet in the spreadsheet

Category:

neoSheet

Syntax:

neoSheetCreateWorksheet "objId" ncolumns nrows "dataVarOrJson" "columnsVarOrJson" position "worksheetName"

 

objId

Container object

ncolumns

Number of columns

nrows

Number of rows

dataVarOrJson

Optional data array JSON or variable

columnsVarOrJson

Optional column definitions JSON or variable

position

Optional index to insert at

worksheetName

Worksheet name

 

neoSheetDeleteWorksheet

Purpose:

Delete a worksheet by index

Category:

neoSheet

Syntax:

neoSheetDeleteWorksheet "objId" sheetIndex

 

objId

Container object

sheetIndex

Worksheet index to delete

 

neoSheetGetWorksheetNames

Purpose:

Get the names of all worksheets in the spreadsheet

Category:

neoSheet

Syntax:

neoSheetGetWorksheetNames "objId" resultVar

 

objId

Container object

resultVar

Variable to store array of worksheet names

 

neoSheetGetWorksheetCount

Purpose:

Get the total number of worksheets

Category:

neoSheet

Syntax:

neoSheetGetWorksheetCount "objId" resultVar

 

objId

Container object

resultVar

Variable to store worksheet count

 

neoSheetExists

Purpose:

Check if the spreadsheet has been initialized

Category:

neoSheet

Syntax:

neoSheetExists "objId" resultVar

 

objId

Container object

resultVar

Variable to store result (true/false)

 

neoSheetRenameWorksheet

Purpose:

Rename a worksheet

Category:

neoSheet

Syntax:

neoSheetRenameWorksheet "objId" sheetIndex "newName"

 

objId

Container object

sheetIndex

Worksheet index

newName

New worksheet name

 

neoSheetSetActiveWorksheet

Purpose:

Set the active worksheet

Category:

neoSheet

Syntax:

neoSheetSetActiveWorksheet "objId" sheetIndex

 

objId

Container object

sheetIndex

The worksheet index to set as active

 

neoSheetGetWorksheetData

Purpose:

Get data from a specific worksheet

Category:

neoSheet

Syntax:

neoSheetGetWorksheetData "objId" sheetIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

resultVar

Variable to store result

 

neoSheetSetWorksheetData

Purpose:

Replace data in a specific worksheet

Category:

neoSheet

Syntax:

neoSheetSetWorksheetData "objId" sheetIndex "dataVarOrJson"

 

objId

Container object

sheetIndex

Worksheet index

dataVarOrJson

JSON or variable name with array of data

 

neoSheetGetMerge

Purpose:

Get merge information for a cell

Category:

neoSheet

Syntax:

neoSheetGetMerge "objId" sheetIndex "cellRef" resultVar

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

resultVar

Variable to store merge information

 

neoSheetSetMerge

Purpose:

Merge cells

Category:

neoSheet

Syntax:

neoSheetSetMerge "objId" sheetIndex "cellRef" colspan rowspan force

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

colspan

Number of columns to merge

rowspan

Number of rows to merge

force

Force merge even if cells are not empty

 

neoSheetRemoveMerge

Purpose:

Remove merge from a cell

Category:

neoSheet

Syntax:

neoSheetRemoveMerge "objId" sheetIndex "cellRef"

 

objId

Container object

sheetIndex

Worksheet index

cellRef

Cell reference (e.g., A1)

 

neoSheetGetMerges

Purpose:

Get all merged cells

Category:

neoSheet

Syntax:

neoSheetGetMerges "objId" sheetIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

resultVar

Variable to store the merged cells object

 

neoSheetUndo

Purpose:

Undo the last action

Category:

neoSheet

Syntax:

neoSheetUndo "objId" sheetIndex

 

objId

Container object

sheetIndex

Worksheet index

 

neoSheetRedo

Purpose:

Redo the last action

Category:

neoSheet

Syntax:

neoSheetRedo "objId" sheetIndex

 

objId

Container object

sheetIndex

Worksheet index

 

neoSheetGetHistory

Purpose:

Get the history of actions

Category:

neoSheet

Syntax:

neoSheetGetHistory "objId" sheetIndex resultVar

 

objId

Container object

sheetIndex

Worksheet index

resultVar

Variable to store the history object

 

neoSheetSetHistory

Purpose:

Set the history of actions

Category:

neoSheet

Syntax:

neoSheetSetHistory "objId" sheetIndex "historyObj"

 

objId

Container object

sheetIndex

Worksheet index

historyObj

JSON or variable with history object

 

neoSheetResetHistory

Purpose:

Reset the history of actions

Category:

neoSheet

Syntax:

neoSheetResetHistory "objId" sheetIndex

 

objId

Container object

sheetIndex

Worksheet index

 

neoSheetDownload

Purpose:

Download the spreadsheet as a CSV file

Category:

neoSheet

Syntax:

neoSheetDownload "objId" sheetIndex

 

objId

Container object

sheetIndex

Worksheet index

 

neoSheetShowToolbar

Purpose:

Show the toolbar

Category:

neoSheet

Syntax:

neoSheetShowToolbar "objId"

 

objId

Container object

 

neoSheetHideToolbar

Purpose:

Hide the toolbar

Category:

neoSheet

Syntax:

neoSheetHideToolbar "objId"

 

objId

Container object

 

neoSheetDestroy

Purpose:

Destroy the spreadsheet instance

Category:

neoSheet

Syntax:

neoSheetDestroy "objId"

 

objId

Container object

Created with the Personal Edition of HelpNDoc: Free EPub producer