21.1.35 • Public • Published

React Spreadsheet Component

The React Spreadsheet is an user interactive component to organize and analyze data in tabular format with configuration options for customization. It will load data by importing an Excel/CSV file or from local and remote data sources such as JSON, RESTful services, OData services, and more. The populated data can be exported as Excel with xlsx, xls, CSV and PDF formats.

Getting started . Online demos . Learn more

React Spreadsheet Component

Trusted by the world's leading companies Bootstrap logo


Create a React Application

You can use create-react-app to setup applications. To create React app, use the following command.

npx create-react-app my-app --template typescript
cd my-app
npm start

Add Syncfusion Spreadsheet package

All Syncfusion React packages are published in the npmjs.com registry. To install the React Spreadsheet package, use the following command.

npm install @syncfusion/ej2-react-spreadsheet --save

Add CSS references for Spreadsheet

Add CSS references needed for a Spreadsheet in src/App.css from the ../node_modules/@syncfusion package folder.

@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-lists/styles/material.css';
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
@import '../node_modules/@syncfusion/ej2-grids/styles/material.css';
@import '../node_modules/@syncfusion/ej2-react-spreadsheet/styles/material.css';

Add Spreadsheet Component

In the src/App.tsx file, use the following code snippet to render the Syncfusion React Spreadsheet component and import App.css to apply styles to the Spreadsheet.

import { SheetsDirective, SheetDirective, RangesDirective, RangeDirective, SpreadsheetComponent } from '@syncfusion/ej2-react-spreadsheet';
import * as React from 'react';
import './App.css';

export default function App() {
    let data: object[] = [
        { OrderID: 10248, CustomerID: 'VINET', EmployeeID: 5, ShipCity: 'Reims' },
        { OrderID: 10249, CustomerID: 'TOMSP', EmployeeID: 6, ShipCity: 'Münster' },
        { OrderID: 10250, CustomerID: 'HANAR', EmployeeID: 4, ShipCity: 'Lyon' }
    return <SpreadsheetComponent>
                            <RangeDirective dataSource={data}></RangeDirective>

Supported frameworks

Spreadsheet component is also offered in the following list of frameworks.




  ASP.NET Core  


Showcase samples

Key features

  • Data sources: Bind the Spreadsheet component with an array of objects or data from a web service using DataManager.
  • Virtualization: Provides the option to load large amount of data without performance degradation.
  • Selection: Provides the option to select a cell or range of cells.
  • Editing: Provides the option to dynamically edit a cell.
  • Formulas: Provides built-in calculation library with pre-defined formulas and named range support.
  • Clipboard: Provides the option to perform clipboard operations.
  • Cell formatting: Provides the option to customize the appearance of cells.
  • Number formatting: Provides the option to format the cell value.
  • Open: Provides the option to open Excel and CSV files in Spreadsheet.
  • Save: Provides the option to save Spreadsheet data as Excel, CSV, and PDF documents.
  • Sorting: Helps you to arrange the data to particular order in a selected range of cells.
  • Filtering: Helps you to view specific rows in the Spreadsheet by hiding the other rows.
  • Undo Redo: Provides the option to perform undo redo operations in Spreadsheet.
  • Collaborative editing: Provides the option for real time changes across multiple users in the Spreadsheet.
  • Hyperlink: Provides the option to navigate to web link or cell reference within the sheet or to other sheet in Spreadsheet.
  • Resize: Allows you to change the row height and column width. Auto fit the rows and columns based on its content.
  • Wrap text: Provides the option to display the large content as multiple lines in a single cell.
  • Data validation: Provides the option to validate edited values based on data validation rules defined for a cell or range of cells.
  • Find and replace: Provides the option to find the data and replace it across all sheets in Spreadsheet.
  • Protect sheet: Provides the option to restrict user actions like cell editing, row and column insertion, deletion, and resizing.
  • Borders: Provides the option to customize cell gridlines such as color and its style for enhanced UI.
  • Show/hide: Provides the option to show/hide rows, columns and sheets.
  • Insert/delete: Provides the option to insert/delete rows, columns and sheets.
  • Merge cells: Provides the option to combine two or more cells located in the same row or column into a single cell.
  • Conditional formatting: Provides the option to format a cell or range of cells based on conditions applied.
  • Autofill: Provides the option to fill or copy a series or pattern of values and formats into adjacent cells in any direction.
  • Clear: Provides the option to clear the content, formats, and hyperlinks applied to a cell or range of cells in a Spreadsheet.
  • Aggregates: Provides the option to check the sum, average, count, and more for the selected cells or range in the sheet.
  • Picture: Allows you to view, insert, and modify a picture in a Spreadsheet with customizing options.
  • Chart: Transforms your Spreadsheet data to an intuitive overview for better understanding and to make smart business decisions.
  • Freeze panes: Allows you to keep the specified rows and columns always visible at the top and left side of the sheet while scrolling through the sheet.
  • Password protection: Allows you to protect the workbook with a password.
  • Multi-line editing: Allows you to insert a line break between paragraphs of the text within a cell in a Spreadsheet.
  • Calculate range selection: Helps you to select a range or multiple ranges when editing a formula in a cell.
  • Right-to-left (RTL): Aligns content in the Spreadsheet component from right to left.
  • Templates: Templates can be used to create custom user experiences in the Spreadsheet.
  • Globalization: Personalize the Spreadsheet component with different languages, as well as culture-specific number, date, and time formatting.
  • Accessibility: Provides with built-in accessibility support which helps to access all the Spreadsheet component features through the keyboard, screen readers, or other assistive technology devices.


Product support is available through the following mediums.


Check the changelog here. Get minor improvements and bug fixes every week to stay up to date with frequent updates.

License and copyright

This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA. To acquire a license for 80+ React UI components, you can purchase or start a free 30-day trial.

A free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

See LICENSE FILE for more info.

© Copyright 2023 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.


npm i @syncfusion/ej2-react-spreadsheet

DownloadsWeekly Downloads






Unpacked Size

9.06 MB

Total Files


Last publish


  • syncfusionorg
  • essentialjs2
  • syncfusion-javascript