Package Exports
- @wszymanski-test/handsontable
- @wszymanski-test/handsontable/base
- @wszymanski-test/handsontable/cellTypes
- @wszymanski-test/handsontable/cellTypes/autocompleteType
- @wszymanski-test/handsontable/cellTypes/autocompleteType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/checkboxType
- @wszymanski-test/handsontable/cellTypes/checkboxType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/dateType
- @wszymanski-test/handsontable/cellTypes/dateType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/dropdownType
- @wszymanski-test/handsontable/cellTypes/dropdownType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/handsontableType
- @wszymanski-test/handsontable/cellTypes/handsontableType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/index.d.ts
- @wszymanski-test/handsontable/cellTypes/numericType
- @wszymanski-test/handsontable/cellTypes/numericType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/passwordType
- @wszymanski-test/handsontable/cellTypes/passwordType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/registry
- @wszymanski-test/handsontable/cellTypes/registry.d.ts
- @wszymanski-test/handsontable/cellTypes/textType
- @wszymanski-test/handsontable/cellTypes/textType/index.d.ts
- @wszymanski-test/handsontable/cellTypes/timeType
- @wszymanski-test/handsontable/cellTypes/timeType/index.d.ts
- @wszymanski-test/handsontable/dist/handsontable.css
- @wszymanski-test/handsontable/dist/handsontable.full.css
- @wszymanski-test/handsontable/dist/handsontable.full.js
- @wszymanski-test/handsontable/dist/handsontable.full.min.css
- @wszymanski-test/handsontable/dist/handsontable.full.min.js
- @wszymanski-test/handsontable/dist/handsontable.js
- @wszymanski-test/handsontable/dist/handsontable.min.css
- @wszymanski-test/handsontable/dist/handsontable.min.js
- @wszymanski-test/handsontable/dist/languages/all.js
- @wszymanski-test/handsontable/dist/languages/all.min.js
- @wszymanski-test/handsontable/dist/languages/ar-AR.js
- @wszymanski-test/handsontable/dist/languages/ar-AR.min.js
- @wszymanski-test/handsontable/dist/languages/cs-CZ.js
- @wszymanski-test/handsontable/dist/languages/cs-CZ.min.js
- @wszymanski-test/handsontable/dist/languages/de-CH.js
- @wszymanski-test/handsontable/dist/languages/de-CH.min.js
- @wszymanski-test/handsontable/dist/languages/de-DE.js
- @wszymanski-test/handsontable/dist/languages/de-DE.min.js
- @wszymanski-test/handsontable/dist/languages/en-US.js
- @wszymanski-test/handsontable/dist/languages/en-US.min.js
- @wszymanski-test/handsontable/dist/languages/es-MX.js
- @wszymanski-test/handsontable/dist/languages/es-MX.min.js
- @wszymanski-test/handsontable/dist/languages/fr-FR.js
- @wszymanski-test/handsontable/dist/languages/fr-FR.min.js
- @wszymanski-test/handsontable/dist/languages/it-IT.js
- @wszymanski-test/handsontable/dist/languages/it-IT.min.js
- @wszymanski-test/handsontable/dist/languages/ja-JP.js
- @wszymanski-test/handsontable/dist/languages/ja-JP.min.js
- @wszymanski-test/handsontable/dist/languages/ko-KR.js
- @wszymanski-test/handsontable/dist/languages/ko-KR.min.js
- @wszymanski-test/handsontable/dist/languages/lv-LV.js
- @wszymanski-test/handsontable/dist/languages/lv-LV.min.js
- @wszymanski-test/handsontable/dist/languages/nb-NO.js
- @wszymanski-test/handsontable/dist/languages/nb-NO.min.js
- @wszymanski-test/handsontable/dist/languages/nl-NL.js
- @wszymanski-test/handsontable/dist/languages/nl-NL.min.js
- @wszymanski-test/handsontable/dist/languages/pl-PL.js
- @wszymanski-test/handsontable/dist/languages/pl-PL.min.js
- @wszymanski-test/handsontable/dist/languages/pt-BR.js
- @wszymanski-test/handsontable/dist/languages/pt-BR.min.js
- @wszymanski-test/handsontable/dist/languages/ru-RU.js
- @wszymanski-test/handsontable/dist/languages/ru-RU.min.js
- @wszymanski-test/handsontable/dist/languages/sr-SP.js
- @wszymanski-test/handsontable/dist/languages/sr-SP.min.js
- @wszymanski-test/handsontable/dist/languages/zh-CN.js
- @wszymanski-test/handsontable/dist/languages/zh-CN.min.js
- @wszymanski-test/handsontable/dist/languages/zh-TW.js
- @wszymanski-test/handsontable/dist/languages/zh-TW.min.js
- @wszymanski-test/handsontable/editors
- @wszymanski-test/handsontable/editors/autocompleteEditor
- @wszymanski-test/handsontable/editors/autocompleteEditor/index.d.ts
- @wszymanski-test/handsontable/editors/baseEditor
- @wszymanski-test/handsontable/editors/baseEditor/index.d.ts
- @wszymanski-test/handsontable/editors/checkboxEditor
- @wszymanski-test/handsontable/editors/checkboxEditor/index.d.ts
- @wszymanski-test/handsontable/editors/dateEditor
- @wszymanski-test/handsontable/editors/dateEditor/index.d.ts
- @wszymanski-test/handsontable/editors/dropdownEditor
- @wszymanski-test/handsontable/editors/dropdownEditor/index.d.ts
- @wszymanski-test/handsontable/editors/handsontableEditor
- @wszymanski-test/handsontable/editors/handsontableEditor/index.d.ts
- @wszymanski-test/handsontable/editors/index.d.ts
- @wszymanski-test/handsontable/editors/numericEditor
- @wszymanski-test/handsontable/editors/numericEditor/index.d.ts
- @wszymanski-test/handsontable/editors/passwordEditor
- @wszymanski-test/handsontable/editors/passwordEditor/index.d.ts
- @wszymanski-test/handsontable/editors/registry
- @wszymanski-test/handsontable/editors/registry.d.ts
- @wszymanski-test/handsontable/editors/selectEditor
- @wszymanski-test/handsontable/editors/selectEditor/index.d.ts
- @wszymanski-test/handsontable/editors/textEditor
- @wszymanski-test/handsontable/editors/textEditor/index.d.ts
- @wszymanski-test/handsontable/editors/timeEditor
- @wszymanski-test/handsontable/editors/timeEditor/index.d.ts
- @wszymanski-test/handsontable/i18n
- @wszymanski-test/handsontable/i18n/index.d.ts
- @wszymanski-test/handsontable/i18n/languages
- @wszymanski-test/handsontable/i18n/languages/ar-AR
- @wszymanski-test/handsontable/i18n/languages/cs-CZ
- @wszymanski-test/handsontable/i18n/languages/de-CH
- @wszymanski-test/handsontable/i18n/languages/de-CH.d.ts
- @wszymanski-test/handsontable/i18n/languages/de-DE
- @wszymanski-test/handsontable/i18n/languages/de-DE.d.ts
- @wszymanski-test/handsontable/i18n/languages/en-US
- @wszymanski-test/handsontable/i18n/languages/en-US.d.ts
- @wszymanski-test/handsontable/i18n/languages/es-MX
- @wszymanski-test/handsontable/i18n/languages/es-MX.d.ts
- @wszymanski-test/handsontable/i18n/languages/fr-FR
- @wszymanski-test/handsontable/i18n/languages/fr-FR.d.ts
- @wszymanski-test/handsontable/i18n/languages/index.d.ts
- @wszymanski-test/handsontable/i18n/languages/it-IT
- @wszymanski-test/handsontable/i18n/languages/it-IT.d.ts
- @wszymanski-test/handsontable/i18n/languages/ja-JP
- @wszymanski-test/handsontable/i18n/languages/ja-JP.d.ts
- @wszymanski-test/handsontable/i18n/languages/ko-KR
- @wszymanski-test/handsontable/i18n/languages/ko-KR.d.ts
- @wszymanski-test/handsontable/i18n/languages/lv-LV
- @wszymanski-test/handsontable/i18n/languages/lv-LV.d.ts
- @wszymanski-test/handsontable/i18n/languages/nb-NO
- @wszymanski-test/handsontable/i18n/languages/nb-NO.d.ts
- @wszymanski-test/handsontable/i18n/languages/nl-NL
- @wszymanski-test/handsontable/i18n/languages/nl-NL.d.ts
- @wszymanski-test/handsontable/i18n/languages/pl-PL
- @wszymanski-test/handsontable/i18n/languages/pl-PL.d.ts
- @wszymanski-test/handsontable/i18n/languages/pt-BR
- @wszymanski-test/handsontable/i18n/languages/pt-BR.d.ts
- @wszymanski-test/handsontable/i18n/languages/ru-RU
- @wszymanski-test/handsontable/i18n/languages/ru-RU.d.ts
- @wszymanski-test/handsontable/i18n/languages/sr-SP
- @wszymanski-test/handsontable/i18n/languages/zh-CN
- @wszymanski-test/handsontable/i18n/languages/zh-CN.d.ts
- @wszymanski-test/handsontable/i18n/languages/zh-TW
- @wszymanski-test/handsontable/i18n/languages/zh-TW.d.ts
- @wszymanski-test/handsontable/i18n/registry
- @wszymanski-test/handsontable/i18n/registry.d.ts
- @wszymanski-test/handsontable/languages
- @wszymanski-test/handsontable/languages/all
- @wszymanski-test/handsontable/languages/ar-AR
- @wszymanski-test/handsontable/languages/cs-CZ
- @wszymanski-test/handsontable/languages/de-CH
- @wszymanski-test/handsontable/languages/de-DE
- @wszymanski-test/handsontable/languages/en-US
- @wszymanski-test/handsontable/languages/es-MX
- @wszymanski-test/handsontable/languages/fr-FR
- @wszymanski-test/handsontable/languages/it-IT
- @wszymanski-test/handsontable/languages/ja-JP
- @wszymanski-test/handsontable/languages/ko-KR
- @wszymanski-test/handsontable/languages/lv-LV
- @wszymanski-test/handsontable/languages/nb-NO
- @wszymanski-test/handsontable/languages/nl-NL
- @wszymanski-test/handsontable/languages/pl-PL
- @wszymanski-test/handsontable/languages/pt-BR
- @wszymanski-test/handsontable/languages/ru-RU
- @wszymanski-test/handsontable/languages/sr-SP
- @wszymanski-test/handsontable/languages/zh-CN
- @wszymanski-test/handsontable/languages/zh-TW
- @wszymanski-test/handsontable/plugins
- @wszymanski-test/handsontable/plugins/autoColumnSize
- @wszymanski-test/handsontable/plugins/autoColumnSize/index.d.ts
- @wszymanski-test/handsontable/plugins/autoRowSize
- @wszymanski-test/handsontable/plugins/autoRowSize/index.d.ts
- @wszymanski-test/handsontable/plugins/autofill
- @wszymanski-test/handsontable/plugins/autofill/index.d.ts
- @wszymanski-test/handsontable/plugins/base
- @wszymanski-test/handsontable/plugins/base/index.d.ts
- @wszymanski-test/handsontable/plugins/bindRowsWithHeaders
- @wszymanski-test/handsontable/plugins/bindRowsWithHeaders/index.d.ts
- @wszymanski-test/handsontable/plugins/collapsibleColumns
- @wszymanski-test/handsontable/plugins/collapsibleColumns/index.d.ts
- @wszymanski-test/handsontable/plugins/columnSorting
- @wszymanski-test/handsontable/plugins/columnSorting/index.d.ts
- @wszymanski-test/handsontable/plugins/columnSummary
- @wszymanski-test/handsontable/plugins/columnSummary/index.d.ts
- @wszymanski-test/handsontable/plugins/comments
- @wszymanski-test/handsontable/plugins/comments/index.d.ts
- @wszymanski-test/handsontable/plugins/contextMenu
- @wszymanski-test/handsontable/plugins/contextMenu/index.d.ts
- @wszymanski-test/handsontable/plugins/copyPaste
- @wszymanski-test/handsontable/plugins/copyPaste/index.d.ts
- @wszymanski-test/handsontable/plugins/customBorders
- @wszymanski-test/handsontable/plugins/customBorders/index.d.ts
- @wszymanski-test/handsontable/plugins/dragToScroll
- @wszymanski-test/handsontable/plugins/dragToScroll/index.d.ts
- @wszymanski-test/handsontable/plugins/dropdownMenu
- @wszymanski-test/handsontable/plugins/dropdownMenu/index.d.ts
- @wszymanski-test/handsontable/plugins/exportFile
- @wszymanski-test/handsontable/plugins/exportFile/index.d.ts
- @wszymanski-test/handsontable/plugins/filters
- @wszymanski-test/handsontable/plugins/filters/index.d.ts
- @wszymanski-test/handsontable/plugins/formulas
- @wszymanski-test/handsontable/plugins/formulas/index.d.ts
- @wszymanski-test/handsontable/plugins/formulas/indexSyncer
- @wszymanski-test/handsontable/plugins/hiddenColumns
- @wszymanski-test/handsontable/plugins/hiddenColumns/index.d.ts
- @wszymanski-test/handsontable/plugins/hiddenRows
- @wszymanski-test/handsontable/plugins/hiddenRows/index.d.ts
- @wszymanski-test/handsontable/plugins/index.d.ts
- @wszymanski-test/handsontable/plugins/manualColumnFreeze
- @wszymanski-test/handsontable/plugins/manualColumnFreeze/index.d.ts
- @wszymanski-test/handsontable/plugins/manualColumnMove
- @wszymanski-test/handsontable/plugins/manualColumnMove/index.d.ts
- @wszymanski-test/handsontable/plugins/manualColumnResize
- @wszymanski-test/handsontable/plugins/manualColumnResize/index.d.ts
- @wszymanski-test/handsontable/plugins/manualRowMove
- @wszymanski-test/handsontable/plugins/manualRowMove/index.d.ts
- @wszymanski-test/handsontable/plugins/manualRowResize
- @wszymanski-test/handsontable/plugins/manualRowResize/index.d.ts
- @wszymanski-test/handsontable/plugins/mergeCells
- @wszymanski-test/handsontable/plugins/mergeCells/index.d.ts
- @wszymanski-test/handsontable/plugins/multiColumnSorting
- @wszymanski-test/handsontable/plugins/multiColumnSorting/index.d.ts
- @wszymanski-test/handsontable/plugins/multipleSelectionHandles
- @wszymanski-test/handsontable/plugins/multipleSelectionHandles/index.d.ts
- @wszymanski-test/handsontable/plugins/nestedHeaders
- @wszymanski-test/handsontable/plugins/nestedHeaders/index.d.ts
- @wszymanski-test/handsontable/plugins/nestedRows
- @wszymanski-test/handsontable/plugins/nestedRows/index.d.ts
- @wszymanski-test/handsontable/plugins/persistentState
- @wszymanski-test/handsontable/plugins/persistentState/index.d.ts
- @wszymanski-test/handsontable/plugins/registry
- @wszymanski-test/handsontable/plugins/registry.d.ts
- @wszymanski-test/handsontable/plugins/search
- @wszymanski-test/handsontable/plugins/search/index.d.ts
- @wszymanski-test/handsontable/plugins/touchScroll
- @wszymanski-test/handsontable/plugins/touchScroll/index.d.ts
- @wszymanski-test/handsontable/plugins/trimRows
- @wszymanski-test/handsontable/plugins/trimRows/index.d.ts
- @wszymanski-test/handsontable/plugins/undoRedo
- @wszymanski-test/handsontable/plugins/undoRedo/index.d.ts
- @wszymanski-test/handsontable/registry
- @wszymanski-test/handsontable/renderers
- @wszymanski-test/handsontable/renderers/autocompleteRenderer
- @wszymanski-test/handsontable/renderers/autocompleteRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/baseRenderer
- @wszymanski-test/handsontable/renderers/baseRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/checkboxRenderer
- @wszymanski-test/handsontable/renderers/checkboxRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/htmlRenderer
- @wszymanski-test/handsontable/renderers/htmlRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/index.d.ts
- @wszymanski-test/handsontable/renderers/numericRenderer
- @wszymanski-test/handsontable/renderers/numericRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/passwordRenderer
- @wszymanski-test/handsontable/renderers/passwordRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/registry
- @wszymanski-test/handsontable/renderers/registry.d.ts
- @wszymanski-test/handsontable/renderers/textRenderer
- @wszymanski-test/handsontable/renderers/textRenderer/index.d.ts
- @wszymanski-test/handsontable/renderers/timeRenderer
- @wszymanski-test/handsontable/renderers/timeRenderer/index.d.ts
- @wszymanski-test/handsontable/validators
- @wszymanski-test/handsontable/validators/autocompleteValidator
- @wszymanski-test/handsontable/validators/autocompleteValidator/index.d.ts
- @wszymanski-test/handsontable/validators/dateValidator
- @wszymanski-test/handsontable/validators/dateValidator/index.d.ts
- @wszymanski-test/handsontable/validators/index.d.ts
- @wszymanski-test/handsontable/validators/numericValidator
- @wszymanski-test/handsontable/validators/numericValidator/index.d.ts
- @wszymanski-test/handsontable/validators/registry
- @wszymanski-test/handsontable/validators/registry.d.ts
- @wszymanski-test/handsontable/validators/timeValidator
- @wszymanski-test/handsontable/validators/timeValidator/index.d.ts
Readme
Handsontable is a JavaScript component that combines data grid features with spreadsheet-like UX.
It provides data binding, data validation, filtering, sorting, and CRUD operations.
Get Started with Handsontable
|
|
|
|
|
|
Features
The most popular features of Handsontable:
✓ Multiple column sorting
✓ Non-contiguous selection
✓ Filtering data
✓ Export to file
✓ Validating data
✓ Conditional formatting
✓ Merging cells
✓ Freezing rows/columns
✓ Moving rows/columns
✓ Resizing rows/columns
✓ Hiding rows/columns
✓ Context menu
✓ Comments
Documentation
Get Started
Install with npm
Run the following command in your terminal
npm install handsontableYou can also use Yarn, NuGet or load the bundle directly from jsDelivr.
Create a placeholder
Create an HTML placeholder
<div id="example"></div>Import Handsontable and its stylesheet
import Handsontable from "handsontable";
import 'handsontable/dist/handsontable.full.css';Initialize the grid
Now turn your placeholder into a data grid with sample data.
const data = [
['', 'Tesla', 'Volvo', 'Toyota', 'Ford'],
['2019', 10, 11, 12, 13],
['2020', 20, 11, 14, 13],
['2021', 30, 15, 12, 13]
];
const container = document.getElementById('example');
const hot = new Handsontable(container, {
data: data,
rowHeaders: true,
colHeaders: true
});Support
We provide support for developers working with commercial version via contact form or at support@handsontable.com.
If you use a non-commercial version then please ask your tagged question on StackOverflow.
License
Handsontable is a commercial software with two licenses available:
- Free for non-commercial purposes such as teaching, academic research, and evaluation. Read it here.
- Commercial license with support and maintenance included. See pricing plans.
License key
If you use Handsontable in a project that supports your commercial activity, then you must purchase the license key at handsontable.com.
If you use the free for non-commercial license of Handsontable, then pass the phrase 'non-commercial-and-evaluation', as described in this documentation.
Proudly created and maintained by the Handsontable Team.
