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 both client-side and server-side functionality, making it versatile for different use cases.
- Provides robust parsing and writing capabilities for complex spreadsheet structures.
Cons
- Lacks built-in UI components for data visualization, unlike projects like ag-grid or handsontable.
- May have a steeper learning curve compared to simpler table libraries like react-bootstrap-table.
- Focuses primarily on file manipulation rather than interactive data editing, which some other projects specialize in.
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>{/* Render table using table instance */}</table>
Pros
- Highly flexible and customizable, allowing for complex table implementations
- Framework-agnostic, supporting multiple JavaScript frameworks
- Excellent TypeScript support and type safety
Cons
- Steeper learning curve compared to some out-of-the-box solutions
- Requires more setup and configuration than pre-styled table components
- May be overkill for simple table needs
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
- Comprehensive set of UI components specifically designed for data-heavy applications
- Strong TypeScript support and extensive documentation
- Consistent and customizable design system
Cons
- Steeper learning curve compared to some lighter-weight alternatives
- May be overkill for simpler projects or applications not focused on data visualization
- Less flexible for custom styling compared to some component libraries
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 validation, filtering, 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
- Can be resource-intensive for large datasets compared to some lightweight alternatives.
- Requires a commercial license for use in non-open source projects.
- Has a steeper learning curve compared to simpler table components due to its extensive feature set.
Tabler Icons is a set of over 4,200 free MIT-licensed SVG icons for web projects.
Code Example
import { IconHome } from '@tabler/icons-react';
function App() {
return <IconHome size={24} color="blue" />;
}
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 projects 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 5500 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
reactdatagrid
Empower Your Data with the best React Data Grid there is
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.
reactable
Fast, flexible, and simple data tables in React
react-base-table
A react table component to display large datasets with high performance and flexibility
material-react-table
A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript
awesome-grid
A curated list of grid(table) libraries and resources that developers may find useful.
S2
⚡️ A practical visualization library for tabular analysis.
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
fixed-data-table-2
A React table component designed to allow presenting millions of rows of data.