Top React Table Libraries
Top 5 Projects Compared
SheetJS/sheetjs is a powerful JavaScript library for parsing, manipulating, and generating spreadsheet files in various formats.
Code Example
const XLSX = require('xlsx');
const workbook = XLSX.readFile('example.xlsx');
const sheet = workbook.Sheets[workbook.SheetNames[0]];
const data = XLSX.utils.sheet_to_json(sheet);
Pros
- Supports a wide range of spreadsheet formats, including Excel, CSV, and OpenDocument.
- Offers robust parsing and generation capabilities for complex spreadsheet structures.
- Provides a comprehensive API for advanced spreadsheet manipulation.
Cons
- Lacks built-in UI components for rendering spreadsheets, unlike some other projects like Handsontable or ag-Grid.
- Has a steeper learning curve compared to simpler table libraries like react-table or material-table.
- May be overkill for basic table rendering needs, where lighter alternatives might suffice.
TanStack/table is a headless UI library for building powerful tables and datagrids in React, Vue, and Solid.
Code Example
import { useTable } from '@tanstack/react-table'
const table = useTable({ columns, data })
return <table {...table.getTableProps()}>{/* ... */}</table>
Pros
- Highly flexible and customizable, allowing for complex table implementations
- Framework-agnostic, supporting React, Vue, and Solid
- Excellent TypeScript support and type safety
Cons
- Steeper learning curve compared to some simpler table libraries
- Requires more setup and boilerplate code for basic use cases
- Lacks built-in UI components, requiring additional styling or component libraries
Palantir/Blueprint is a React-based UI toolkit for building complex web applications with a focus on data-dense interfaces.
Code Example
import { Button, Intent } from "@blueprintjs/core";
<Button intent={Intent.PRIMARY} text="Click me" />
Pros
- Offers a comprehensive set of UI components specifically designed for data-heavy applications
- Provides excellent TypeScript support and documentation
- Includes accessibility features out of the box
Cons
- Has a steeper learning curve compared to some lighter-weight alternatives
- May be overkill for simpler projects or applications not focused on data visualization
- Less suitable for mobile-first or responsive design compared to some other frameworks
Handsontable is a JavaScript data grid component that provides spreadsheet-like functionality for web applications.
Code Example
const container = document.getElementById('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]]
});
Pros
- Offers a rich set of features including data binding, validation, and sorting out of the box
- Provides excellent Excel-like functionality with cell merging and formulas
- Has a large and active community, ensuring regular updates and support
Cons
- Commercial license required for many use cases, which can be expensive compared to some open-source alternatives
- Has a steeper learning curve due to its extensive feature set
- Can be performance-intensive for very large datasets compared to some lightweight alternatives
Tabler Icons is a set of over 4,200 free MIT-licensed high-quality SVG icons for web projects.
Code Example
import { IconHome, IconUser } from '@tabler/icons-react';
<IconHome size={24} stroke={2} />
<IconUser color="red" />
Pros
- Offers a vast collection of high-quality, customizable SVG icons
- Provides easy integration with popular frameworks like React
- Regularly updated with new icons and improvements
Cons
- Focused solely on icons, unlike some other projects that offer full UI component libraries
- May have a larger file size compared to more minimal icon sets
- Lacks advanced data manipulation features found in table-focused libraries like ag-Grid or Handsontable
All Top Projects
sheetjs
📗 SheetJS Spreadsheet Data Toolkit -- New home https://git.sheetjs.com/SheetJS/sheetjs
table
🤖 Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table
blueprint
A React-based UI toolkit for the web
handsontable
JavaScript data grid with a spreadsheet look & feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡
tabler-icons
A set of over 5700 free MIT-licensed high-quality SVG icons for you to use in your web projects.
ag-grid
The best JavaScript Data Table for building Enterprise Applications. Supports React / Angular / Vue / Plain JavaScript.
x-render
🚴♀️ 阿里 - 很易用的中后台「表单 / 表格 / 图表」解决方案
tabulator
Interactive Tables and Data Grids for JavaScript
react-datasheet
Excel-like data grid (table) component for React
fixed-data-table
A React table component designed to allow presenting thousands of rows of data.
glide-data-grid
🚀 Glide Data Grid is a no compromise, outrageously react fast data grid with rich rendering, first class accessibility, and full TypeScript support.
material-table
Datatable for React based on material-ui's table with additional features
Visual CopilotPromo
Turn Figma designs into high-quality code using AI
docxtemplater
Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents), from Node.js or the browser. Demo: https://www.docxtemplater.com/demo. #docx #office #generator #templating #report #json #generate #generation #template #create #pptx #docx #xlsx #react #vuejs #angularjs #browser #typescript #image #html #table #chart
Griddle
Simple Grid Component written in React
tabler-react
React components and demo for the Tabler UI theme.
react-bootstrap-table
A Bootstrap table built with React.js
react-data-table-component
A responsive table library with built-in sorting, pagination, selection, expandable rows, and customizable styling.
react-datasheet-grid
An Airtable-like / Excel-like component to create beautiful spreadsheets.
markdown-toc
API and CLI for generating a markdown TOC (table of contents) for a README or any markdown files. Uses Remarkable to parse markdown. Used by NASA/openmct, Prisma, Joi, Mocha, Sass, Prettier, Orbit DB, FormatJS, Raneto, hapijs/code, webpack-flow, docusaurus, release-it, ts-loader, json-server, reactfire, bunyan, husky, react-easy-state, react-snap, chakra-ui, carbon, alfresco, repolinter, Assemble, Verb, and thousands of other projects.
react-movable
🔀 Drag and drop for your React lists and tables. Accessible. Tiny.
material-react-table
A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript
S2
⚡️ A practical visualization library for tabular analysis.
react-base-table
A react table component to display large datasets with high performance and flexibility
reactable
Fast, flexible, and simple data tables in React
awesome-grid
A curated list of grid(table) libraries and resources that developers may find useful.
drip-table
A tiny and powerful enterprise-class solution for building lowcode tables. 轻量、强大的企业级表格可视化搭建解决方案。
react-native-tableview
Native iOS UITableView for React Native with JSON support and more
xicons
SVG Vue/React components integrated from fluentui-system-icons, ionicons, ant-design-icons, material-design-icons, Font-Awesome, tabler-icons and carbon icons. (Vue3, Vue2, React, SVG)
table
React Table