# @witqq/spreadsheet
Canvas-based spreadsheet and datagrid engine for React, Vue, Angular, and vanilla JS. Zero external dependencies in the core package.
[](https://github.com/witqq/spreadsheet/actions/workflows/ci.yml)
```bash
npm install @witqq/spreadsheet @witqq/spreadsheet-react
```
```tsx
import { Spreadsheet } from '@witqq/spreadsheet-react';
const columns = [
{ key: 'name', title: 'Name', width: 200 },
{ key: 'value', title: 'Value', width: 120, type: 'number' },
];
const data = [
{ name: 'Alpha', value: 100 },
{ name: 'Beta', value: 200 },
];
function App() {
return ;
}
```
## Packages
| Package | Path | npm | Description |
|---------|------|-----|-------------|
| [`@witqq/spreadsheet`](packages/core/README.md) | `packages/core/` | [](https://www.npmjs.com/package/@witqq/spreadsheet) | Canvas engine — rendering, editing, selection, data model, commands, theming, localization. 224 exports. |
| [`@witqq/spreadsheet-react`](packages/react/README.md) | `packages/react/` | [](https://www.npmjs.com/package/@witqq/spreadsheet-react) | React wrapper component. 18 exports. |
| [`@witqq/spreadsheet-vue`](packages/vue/README.md) | `packages/vue/` | [](https://www.npmjs.com/package/@witqq/spreadsheet-vue) | Vue 3 wrapper component. 19 exports. |
| [`@witqq/spreadsheet-angular`](packages/angular/README.md) | `packages/angular/` | [](https://www.npmjs.com/package/@witqq/spreadsheet-angular) | Angular wrapper component. 13 exports. |
| [`@witqq/spreadsheet-plugins`](packages/plugins/README.md) | `packages/plugins/` | [](https://www.npmjs.com/package/@witqq/spreadsheet-plugins) | Formulas, conditional formatting, collaboration (OT), Excel I/O, context menu, progressive loader. 40 exports. |
| [`@witqq/spreadsheet-widget`](packages/widget/README.md) | `packages/widget/` | [](https://www.npmjs.com/package/@witqq/spreadsheet-widget) | IIFE/UMD bundle for `