Installation
Install Handsontable through your preferred package manager, or import Handsontable’s assets directly from a CDN.
Overview
To start using Handsontable, follow these steps:
Install Handsontable
Get Handsontable’s files in your preferred way.
Using a package manager
To install Handsontable locally using a package manager, run one of these commands:
npm install handsontableyarn add handsontablepnpm add handsontableUsing a CDN
To get Handsontable’s files from a CDN, use the following locations:
Import Handsontable’s JavaScript
Import Handsontable’s JavaScript into your application.
Using CommonJS or a package manager
If you’re using Handsontable as a CommonJS package, or as an ECMAScript module (using a package manager), import the full distribution of Handsontable as a JavaScript file.
Use your bundler’s preferred method of importing files. For example:
import Handsontable from 'handsontable';Using the script tag
If you’re using Handsontable as a traditional UMD package, import the full distribution of Handsontable as a minified JavaScript file.
Use the script tag. For example, if you’re loading Handsontable’s JavaScript from a CDN:
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/handsontable/dist/handsontable.full.min.js"></script>Create a container
In your HTML, add an empty div, which serves as a container for your Handsontable instance.
<div id="example"></div>Initialize your grid
Now turn your container into a data grid with sample data.
const container = document.querySelector('#example');
const hot = new Handsontable(container, { data: [ ['', 'Tesla', 'Volvo', 'Toyota', 'Ford'], ['2019', 10, 11, 12, 13], ['2020', 20, 11, 14, 13], ['2021', 30, 15, 12, 13] ], rowHeaders: true, colHeaders: true, height: 'auto', autoWrapRow: true, autoWrapCol: true, licenseKey: 'non-commercial-and-evaluation' // for non-commercial use only});Preview the result
import Handsontable from 'handsontable/base';import { registerAllModules } from 'handsontable/registry';
// Register all Handsontable's modules.registerAllModules();
const container = document.querySelector('#example');const data = [ ['', 'Tesla', 'Volvo', 'Toyota', 'Ford'], ['2019', 10, 11, 12, 13], ['2020', 20, 11, 14, 13], ['2021', 30, 15, 12, 13],];
new Handsontable(container, { data, rowHeaders: true, colHeaders: true, height: 'auto', autoWrapRow: true, autoWrapCol: true, licenseKey: 'non-commercial-and-evaluation', // for non-commercial use only});import Handsontable from 'handsontable/base';import { registerAllModules } from 'handsontable/registry';
// Register all Handsontable's modules.registerAllModules();
const container = document.querySelector<HTMLDivElement>('#example')!;
const data: Handsontable.CellValue[][] = [ ['', 'Tesla', 'Volvo', 'Toyota', 'Ford'], ['2019', 10, 11, 12, 13], ['2020', 20, 11, 14, 13], ['2021', 30, 15, 12, 13],];
new Handsontable(container, { data, rowHeaders: true, colHeaders: true, height: 'auto', autoWrapRow: true, autoWrapCol: true, licenseKey: 'non-commercial-and-evaluation', // for non-commercial use only});Related articles
Related guides
Configuration options
Hooks