
Research
NPM targeted by malware campaign mimicking familiar library names
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
@handsontable/react
Advanced tools
With its spreadsheet-like editing features, itβs perfect for building data-rich internal apps. It allows users to enter, edit, validate, and process data from various sources. Common use cases include resource planning software (ERP), inventory management systems, digital platforms, and data modeling applications.
Website Β Β βΒ Β Documentation Β Β βΒ Β Themes Β Β βΒ Β API Β Β βΒ Β Community
Β Β β
Β Built-in themes
Β Β β
Β Flexible API
Β Β β
Β Virtualization
Β Β β
Β IME support
Β Β β
Β Internationalization
Β Β β
Β RTL support
Β Β β
Β Accessibility
Β Β β
Β Keyboard shortcuts
Β Β β
Β Sorting data
Β Β β
Β Filtering data
Β Β β
Β 400 built-in formulas
Β Β β
Β Configurable selection
Β Β β
Β Data validation
Β Β β
Β Conditional formatting
Β Β β
Β Merged cells
Β Β β
Β Pinned/frozen columns
Β Β β
Β Hiding columns
Β Β β
Β Right-click context menu
Below is the installation guide for the React class-based component. If you're using React with functional components or another framework, please refer to its dedicated wrapper for specific installation instructions.
npm install handsontable @handsontable/react
// Base CSS rules
import 'handsontable/styles/handsontable.min.css';
// Main theme variables
import 'handsontable/styles/ht-theme-main.min.css';
import { registerAllModules } from 'handsontable/registry';
registerAllModules();
HotTable
componentThe main Handsontable component is called HotTable
.
import { HotTable } from '@handsontable/react';
To set Handsontable's configuration options, use HotTable
's props. For example:
import { HotTable, HotColumn } from '@handsontable/react';
import { registerAllModules } from 'handsontable/registry';
import 'handsontable/styles/handsontable.min.css';
import 'handsontable/styles/ht-theme-main.min.css';
registerAllModules();
const ExampleComponent = () => {
return (
<div class="ht-theme-main-dark-auto">
<HotTable
data={[
{ company: 'Tagcat', country: 'United Kingdom', rating: 4.4 },
{ company: 'Zoomzone', country: 'Japan', rating: 4.5 },
{ company: 'Meeveo', country: 'United States', rating: 4.6 },
]}
rowHeaders={true}
colHeaders={true}
navigableHeaders={true}
tabNavigation={true}
multiColumnSorting={true}
headerClassName="htLeft"
licenseKey="non-commercial-and-evaluation"
>
<HotColumn title="Company" data="company" width="100"></HotColumn>
<HotColumn title="Country" data="country" width="170" type="dropdown" source={['United Kingdom', 'Japan', 'United States']}></HotColumn>
<HotColumn title="Rating" data="rating" width="100" type="numeric"></HotColumn>
</HotTable>
</div>
);
};
Handsontable is a data grid component written in JavaScript, not a spreadsheet. However, it brings in many features typically found in spreadsheet software. We designed it this way because spreadsheet-like patterns are often the most user-friendly when it comes to data entry and management.
div
) or windowAt first glance, it might seem that a data table, spreadsheet, and data grid are just different names for the same thing - an interactive table displaying data. In reality, these tools serve different purposes and offer distinct functionalities, designed to meet specific needs. Handsontable sits comfortably in the data grid category while incorporating many of the best aspects of spreadsheet software.
We're here to help!
If you're using Handsontable with a free, non-commercial license, you can:
If you have a commercial license, feel free to contact us directly at support@handsontable.com or use our contact form.
Handsontable is available under two licensing options, allowing you to choose the one that best fits your needs. Each license comes with its own terms and conditions, as outlined below:
This license is available for non-commercial purposes such as teaching, academic research, or evaluation. It allows you to use Handsontable free of charge under the terms specified in the non-commercial license agreement. Learn more here.
For commercial use, a paid license is required. This license includes support and maintenance to ensure you get the most out of Handsontable. The commercial license can be purchased directly from Handsoncode or through an authorized reseller. See the pricing page for details.
For projects covered by the free non-commercial license, simply use the phrase 'non-commercial-and-evaluation'
as your license key.
If you're using Handsontable in a project that supports commercial activities, you'll need to purchase a license key at handsontable.com/pricing. You can find more details in our documentation.
Contributions are welcome, but before you make them, please read the Contributing Guide and accept the Contributor License Agreement.
Created and maintained by the Handsontable Team π
Β© 2012 - 2025 Handsoncode
[15.3.0] - 2025-04-29
beforeCompositionstart
hook. #11521parentNode
in the table's getCords
method. #11509TypeError
error for the AutoRowSize
plugin. #11537TypeError
error being thrown after removing rows on the bottom overlay. #11555updateData
. #11558layoutDirection: rtl
. #11562name
property. #115650px
height. #11567allowInvalid
option (both true
and false
) for the Dropdown Editor. #11587@charset
entry in the classic theme's CSS files and that it's placed at the beginning of those files. #11591FAQs
Best Data Grid for React with Spreadsheet Look and Feel.
The npm package @handsontable/react receives a total of 48,681 weekly downloads. As such, @handsontable/react popularity was classified as popular.
We found that @handsontable/react demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
Research
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.