A JavaScript/TypeScript data grid component with a spreadsheet-like look, editing, and formulas, usable with React, Angular, and Vue.
antvis/S2
A TypeScript visualization library for building multi-dimensional pivot tables and analysis grids, with React and Vue components.
- Stars
- 1,697
- Forks
- 221
- Open issues
- 97
- Last commit
- 2 months ago
What is it?
S2 is a data-driven table library for multi-dimensional cross-analysis. Developers configure rows, columns and measures from a dataset, and the library renders a pivot table that can be rearranged across any combination of dimensions.
The project is split into a core package and framework bindings. @antv/s2 provides the core PivotSheet and table rendering, while @antv/s2-react and @antv/s2-vue supply ready-made components. Additional packages cover business-oriented components and server-side rendering.
S2 supports selection, freezing, resizing and custom interactions, and its layout, interaction, style and data processing can be extended. Its Chinese and English documentation includes a live playground.
Key features
- 01Free combination of any dimensions for cross-analysis pivot tables.
- 02Renders large datasets with fast drill-down response, per the project's stated benchmarks.
- 03Ready-made React and Vue 3 components.
- 04Selection (single, multi, range), freezing and resizing interactions.
- 05Extensible layout, interaction, style and data processing.
Use cases
- Building financial or sales report pivot tables in a web dashboard.
- Adding editable, multi-level crossed tables to a React or Vue admin system.
- Rendering large analytical tables that need drill-down navigation.
Quick start
- 1
Install the package via npm
npm install @antv/s2 --save - 2
Prepare a DOM container and render a PivotSheet with your data config
In collections
Topics
FAQ
- What is S2?
- A TypeScript visualization library for building multi-dimensional pivot tables and analysis grids, with React and Vue components. S2 is a data-driven table library for multi-dimensional cross-analysis. Developers configure rows, columns and measures from a dataset, and the library renders a pivot table that can be rearranged across any combination of dimensions.
- Is S2 free to use? What license does it have?
- S2 is open source under the MIT license. Check the license terms before using it in commercial products.
- Is S2 still maintained?
- Updated within 6 months. The last commit to S2 was on Sep 14, 2026.
- What can I use S2 for?
- Building financial or sales report pivot tables in a web dashboard. Adding editable, multi-level crossed tables to a React or Vue admin system. Rendering large analytical tables that need drill-down navigation.
- How do I install S2?
- Install the package via npm: npm install @antv/s2 --save Prepare a DOM container and render a PivotSheet with your data config
- Where can I get S2?
- The source code and installation instructions are on GitHub: https://github.com/antvis/S2
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted .NET reporting and BI tool that turns SQL and NoSQL sources into reports, pivot tables, charts and scheduled outputs, with ETL tasks.
A modular TypeScript data visualization framework offering charts, maps and network graphs for React, Angular, Svelte, Vue, Solid and vanilla JavaScript.
A Vue 2/3 PC data table component with inline editing, virtual scrolling, Excel-style copy/paste, filtering and pivot-style grouping.
A zero-dependency React data grid with headless and pre-styled modes, supporting sorting, filtering, grouping, pivoting and virtualization.
An open-source TypeScript SDK for embedding spreadsheet, document, and presentation editing into your own apps, with headless Node.js support for agents.