title: Programmatically Data Grid Changes
keywords: Jspreadsheet CE, Jexcel, JavaScript Data Grid, Spreadsheets, JavaScript tables, Excel-like data grid, web-based spreadsheets, data grid controls, data grid features
description: Create data grids with spreadsheet controls with Jspreadsheet CE.
canonical: https://bossanova.uk/jspreadsheet/v4/docs/programmatically-changes
# Methods
Jspreadsheet has a comprehensive number of native methods to programmatically interact with your javascript spreadsheet and its data.
[Go to a working example](/jspreadsheet/v4/examples/programmatically-updates)
## General Methods
| Method | Description | Example |
| --- | --- | --- |
| **getData** | Get the full or partial table data
@Param boolean onlyHighlighedCells - Get only highlighted cells | spreadsheet.getData([bool]); |
| **getJson** | Get the full or partial table data in JSON format
@Param boolean onlyHighlighedCells - Get only highlighted cells | spreadsheet.getJson([bool]); |
| **getRowData** | Get the data from one row by number
@Param integer rowNumber - Row number | spreadsheet.getRowData([int]); |
| **setRowData** | Set the data from one row by number
@Param integer rowNumber - Row number
@Param array rowData - Row data | spreadsheet.setRowData([int], [array]); |
| **getColumnData** | Get the data from one column by number
@Param integer columnNumber - Column number | spreadsheet.getColumnData([int]); |
| **setColumnData** | Set the data from one column by number
@Param integer columnNumber - Column number
@Param array colData - Column data | spreadsheet.setColumnData([int], [array]); |
| **setData** | Set the table data
@Param json newData - New JSON data, null will reload what is in memory. | spreadsheet.setData([json]); |
| **setMerge** | Merge cells
@Param string columnName - Column name, such as A1.
@Param integer colspan - Number of columns
@Param integer rowspan - Number of rows | spreadsheet.setMerge([string], [int], [int]); |
| **getMerge** | Get merged cells properties
@Param string columnName - Column name, such as A1. | spreadsheet.getMerge([string]); |
| **removeMerge** | Destroy merged by column name
@Param string columnName - Column name, such as A1. | spreadsheet.removeMerge([string]); |
| **destroyMerged** | Destroy all merged cells | spreadsheet.destroyMerge(); |
| **getCell** | Get current cell DOM
@Param string columnName - String compatible with Excel, or as object. | spreadsheet.getCell([string]); |
| **getLabel** | Get current cell DOM innerHTML
@Param string columnName - String compatible with Excel, or as object. | spreadsheet.getLabel([string]); |
| **getValue** | Get current cell value
@Param mixed cellIdent - String compatible with Excel, or as object. | spreadsheet.getValue([string]); |
| **getValueFromCoords** | Get value from coordinates
@Param integer x
@Param integer y | spreadsheet.getValueFromCoords([integer], [integer]); |
| **setValue** | Change the cell value
@Param mixed cellIdent - String compatible with Excel, or as object.
@Param string Value - New value for the cell
@Param bool force - Update readonly columns | spreadsheet.setValue([string], [string], [bool]); |
| **setValueFromCoords** | Set value from coordinates
@Param integer x
@Param integer y
@Param string Value - New value for the cell
@Param bool force - Update readonly columns | spreadsheet.setValueFromCoords([integer], [integer], [string], [bool]); |
| **resetSelection** | Reset the table selection
@Param boolean executeBlur - Execute the blur from the table | spreadsheet.resetSelection([bool]); |
| **updateSelection** | Select cells
@Param object startCell - Cell object
@Param object endCell - Cell object
@Param boolean ignoreEvents - Ignore onselection event | spreadsheet.updateSelection([cell], [cell], true); |
| **updateSelectionFromCoords** | Select cells
@Param integer x1
@Param integer y1
@Param integer x2
@Param integer y2 | spreadsheet.updateSelectionFromCoords([integer], [integer], [integer], [integer]); |
| **getWidth** | Get the current column width
@Param integer columnNumber - Column number starting at zero | spreadsheet.getWidth([integer]); |
| **setWidth** | Change column width
@Param integer columnNumber - Column number starting at zero
@Param string newColumnWidth - New column width | spreadsheet.setWidth([integer], [integer]); |
| **getHeight** | Get the current row height
@Param integer rowNumber - Row number starting at zero | spreadsheet.getHeight([integer]); |
| **setHeight** | Change row height
@Param integer rowNumber - Row number starting at zero
@Param string newRowHeight - New row height | spreadsheet.setHeight([integer], [integer]); |
| **getHeader** | Get the current header by column number
@Param integer columnNumber - Column number starting at zero | spreadsheet.getHeader([integer]); |
| **getHeaders** | Get all header titles | spreadsheet.getHeaders(); |
| **setHeader** | Change header by column
@Param integer columnNumber - Column number starting at zero
@Param string columnTitle - New header title | spreadsheet.setHeader([integer], [string]); |
| **getStyle** | Get table or cell style
@Param mixed - Cell identification or null for the whole table. | spreadsheet.getStyle([string]); |
| **setStyle** | Set cell(s) CSS style
@Param mixed - JSON with whole table style information or just one cell identification. Ex. A1.
@Param k [optional] - CSS key
@Param v [optional] - CSS value | spreadsheet.setStyle([object], [string], [string]); |
| **resetStyle** | Remove all style from a cell
@Param string columnName - Column name, example: A1, B3, etc | spreadsheet.resetStyle([string]); |
| **getComments** | Get cell comments
@Param mixed - Cell identification or null for the whole table. | spreadsheet.getComments([string]); |
| **setComments** | Set cell comments
@Param cell - Cell identification
@Param text - Comments | spreadsheet.setComments([string], [string]); |
| **orderBy** | Reorder a column ascending or descending
@Param integer columnNumber - Column number starting at zero
@Param smallint sortType - One will order DESC, zero will order ASC, anything else will toggle the current order | spreadsheet.orderBy([integer], [boolean]); |
| **getConfig** | Get table definitions | spreadsheet.getConfig(); |
| **insertColumn** | Add a new column
@Param mixed - Number of columns to be added or data to be added in one single column
@Param int columnNumber - Number of columns to be created
@Param boolean insertBefore
@Param object properties - Column properties | spreadsheet.insertColumn([mixed], [integer], [boolean], [object]); |
| **deleteColumn** | Remove column by number
@Param integer columnNumber - Which column should be excluded starting at zero
@Param integer numOfColumns - Number of columns to be excluded from the reference column | spreadsheet.deleteColumn([integer], [integer]); |
| **moveColumn** | Change the column position
@Param integer columnPosition
@Param integer newColumnPosition | spreadsheet.moveColumn([integer], [integer]); |
| **insertRow** | Add a new row
@Param mixed - Number of blank lines to be inserted or a single array with the data of the new row
@Param integer rowNumber - Reference row number
@Param boolean insertBefore | spreadsheet.insertRow([mixed], [integer], [boolean]); |
| **deleteRow** | Remove row by number
@Param integer rowNumber - Which row should be excluded starting at zero
@Param integer numOfRows - Number of lines to be excluded | spreadsheet.deleteRow([integer], [integer]); |
| **moveRow** | Change the row position
@Param integer rowPosition
@Param integer newRowPosition | spreadsheet.moveRow([integer], [integer]); |
| **download** | Get the current data as a CSV file
@Param bool - True to download parsed formulas. | spreadsheet.download([bool]); |
| **getMeta** | Get the table or cell meta information
@Param mixed - Cell identification or null for the whole table. | spreadsheet.getMeta([string]); |
| **setMeta** | Set the table or cell meta information
@Param mixed - JSON with whole table meta information. | spreadsheet.setMeta([mixed]); |
| **fullscreen** | Toggle table fullscreen mode
@Param boolean fullscreen - Define fullscreen status as true or false | spreadsheet.fullscreen([bool]); |
| **getSelectedRows** | Get the selected rows
@Param boolean asIds - Get the rowNumbers or row DOM elements | spreadsheet.getSelectedRows([bool]); |
| **getSelectedColumns** | Get the selected columns | spreadsheet.getSelectedColumns(); |
| **showIndex** | Show column of index numbers | spreadsheet.showIndex(); |
| **hideIndex** | Hide column of index numbers | spreadsheet.hideIndex(); |
| **search** | Search in the table, only if directive is enabled during initialization.
@Param string - Search for word | spreadsheet.search([string]); |
| **resetSearch** | Reset search table | spreadsheet.resetSearch(); |
| **whichPage** | Which page showing on Jspreadsheet - Valid only when pagination is true. | spreadsheet.whichPage(); |
| **page** | Go to page number - Valid only when pagination is true.
@Param integer - Go to page number | spreadsheet.page([integer]); |
| **undo** | Undo last changes | spreadsheet.undo(); |
| **redo** | Redo changes | spreadsheet.redo(); |