Angular Spreadsheet Component

Jspreadsheet is the best Angular spreadsheet component for building powerful, Excel-like spreadsheets in Angular applications. Bring the full power of a spreadsheet directly into your Angular applications. Our high-performance Angular spreadsheet component is designed for Angular developers with TypeScript support, RxJS integration, and full compatibility with Angular's ecosystem. Build spreadsheet interfaces that users already know how to use.


✓ 30-day free trial
✓ No credit card required
Used by the world's leading companies

Create an Angular Spreadsheet in Two Minutes

The fastest way to start is the install wizard. It detects Angular and sets up everything:

npx @jspreadsheet/install

Or install manually:

npm install jspreadsheet

Then create your first spreadsheet component:

import { Component, ViewChild, ElementRef, AfterViewInit } from "@angular/core";
import jspreadsheet from "jspreadsheet";

// Get a free 30-day trial certificate at jspreadsheet.com
jspreadsheet.setLicense('MmNmNGRiNWE1YzdiZDE4MmQ2MzFlZTczMzQ3ZmIxZDFmZTdlYjljMDA5NTVhNThjZmU3Mjk5ZjAwZjk2YmVhYzVjZTQyMDRkMDUyYWQ0Zjk2YzYxZGJiNzI1YmIwZGYwZjQ5YWYzMDVjNjIzYmViNzg2ZTViYzM0MDkzZGIzNjIsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpnMk56WTRPVEExTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElpd2ljR2wyYjNRaVhTd2laR1Z0YnlJNmRISjFaWDA9');

@Component({
    standalone: true,
    selector: "app-root",
    template: `<div #spreadsheet></div>`
})
export class AppComponent implements AfterViewInit {
    @ViewChild("spreadsheet") spreadsheet: ElementRef;
    worksheets: jspreadsheet.worksheetInstance[];

    ngAfterViewInit() {
        this.worksheets = jspreadsheet(this.spreadsheet.nativeElement, {
            worksheets: [{
                data: [
                    ['Mazda', 2001, 2000, '=B1*C1'],
                    ['Peugeot', 2010, 5000, '=B2*C2'],
                    ['Honda Fit', 2009, 3000, '=B3*C3'],
                ],
                columns: [
                    { title: 'Model', width: '250px' },
                    { title: 'Year', width: '100px' },
                    { title: 'Price', width: '100px' },
                    { title: 'Total', width: '120px' },
                ]
            }]
        });
    }
}

Add the stylesheets to your angular.json:

"styles": [
    "jsuites/dist/jsuites.css",
    "jspreadsheet/dist/jspreadsheet.css"
]

That is a complete Excel-like Angular spreadsheet: editable cells, live formulas, keyboard navigation, and copy and paste from Excel. The Angular documentation has working StackBlitz examples, and the getting started guide explains every configuration option.

Angular Integration

Built to work perfectly with Angular, Jspreadsheet provides a fully-featured Angular spreadsheet component with complete TypeScript support, RxJS observables, and compatibility with popular state management libraries like NgRx and Akita. Our Angular spreadsheet integrates effortlessly into your existing Angular applications without architectural compromises or workarounds.

Modern Angular services and directives for managing Angular spreadsheet state, handling events, and controlling features programmatically: Dependency injection for component lifecycle management, reactive forms for data binding, RxJS observables for event streams, and Angular Material integration for consistent theming.



Unmatched Performance & Scalability

Handle massive datasets confidently with our optimized Angular spreadsheet engine. This Angular spreadsheet library delivers smooth scrolling and interaction with hundreds of thousands of rows while maintaining Angular's change detection performance. Virtual rendering, enhanced memory management, and smart caching ensure your Angular spreadsheet stays responsive regardless of data size. Built to scale from prototype to enterprise without performance degradation.

500+ Excel-Compatible Formulas

Every formula your users know and love, implemented with complete Excel compatibility. From basic arithmetic to advanced statistical functions, financial calculations, and text manipulation – if it works in Excel, it works in your Angular spreadsheet. Build sophisticated calculations and business rules directly into your Angular spreadsheet without server-side processing.



Excel-Compatible User Experience

Your users already know how to use spreadsheets. Jspreadsheet provides the exact keyboard shortcuts, mouse interactions, copy/paste behavior, and visual feedback that users expect from Excel and Google Sheets, eliminating training time and adoption friction. This familiar interface, combined with Angular's robust framework, creates powerful, intuitive Angular spreadsheet experiences.

Export to / Import from XLSX

Import and export spreadsheets in .XLS and .XLSX formats with full fidelity: all formulas and calculations, cell formatting and styles, charts and embedded objects, multiple worksheets, named ranges and defined names, and data validation rules. Effortlessly export data, formulas, and styles to XLSX format, ensuring complete compatibility with Excel and other software.



Custom Angular Component Editors

Build your own cell editors using Angular components. Create specialized inputs for your domain-specific data types, integrate with external services through HttpClient, or build complex multi-field editors with full access to Angular's component model, services, and dependency injection. Transform static spreadsheet cells into interactive Angular components with dropdown lists, date pickers, color pickers, file uploads, and more.

Real-Time Collaboration

Multiple users can edit the same spreadsheet simultaneously with conflict resolution algorithms, user presence indicators, live cursor tracking, automatic change synchronization, and offline editing with sync on reconnect. Advanced permission controls include cell-level permissions, sheet protection, user role management, field-level encryption, and audit logging.

Proven Solution, Backed by Users

In their own words: How teams saved hours and reduce rework.

What Our Customers Are Saying

Jspreadsheet reduces our customers' development time. Here are some of their experiences.


"At SplitC we struggled sometimes when users wanted to bulk insert/edit things (sometimes over 100k rows) and we needed performance. Jspreadsheet is probably the fastest spreadsheet component you'll find out there, and with a small bundle size. By the way, support is awesome."

Lucas Segers, SplitC

"We vetted 10 JavaScript components and we must say that Jspreadsheet comes out as the best."

Lode Cools, Bizz Control

"The latest version of Jspreadsheet is a powerful data grid tool, providing an excellent front end for our spreadsheet interface. The Jspreadsheet team is helpful and quick to respond."

Dana Stoesz, PharmacyWire

Best Angular Spreadsheet Library for Enterprise Applications

Enterprise teams pick Jspreadsheet when the spreadsheet is the product: financial modeling tools, budgeting and planning apps, quoting engines, and internal tools that replace fragile shared workbooks. The component combines a familiar Excel experience with a TypeScript-first API that fits naturally into Angular services and components.

Every feature on this page, including the formula engine, XLSX import, and real-time collaboration, is included in a single license. Compare editions on the pricing page or explore the documentation to see the full API.

What Developers Build with This Angular Spreadsheet

Spreadsheets with Excel-compatible formulas

Formulas work out of the box: type them in cells or ship them with your data, as in the quickstart above. Calculations run on the client with the same syntax users know from Excel, including cross-worksheet references. The formulas documentation covers custom functions, and Formula Pro adds the complete 500+ function set.

Excel file import and export

Let users drop an XLSX file into your Angular application, edit it, and download the result. Formulas, formatting, merged cells, and multiple worksheets survive the round trip. See import from XLSX and export to XLSX.

Data entry with typed columns

Each column can enforce a type with its own editor: dropdowns, calendars, checkboxes, images, colors, and more.

columns: [
    { title: 'Product', type: 'text', width: '200px' },
    { title: 'Category', type: 'dropdown', source: ['Hardware', 'Software'], width: '160px' },
    { title: 'Launch date', type: 'calendar', width: '140px' },
]

The full list of editors is in the columns documentation.

Reacting to user changes

Every edit fires an event you can handle in the configuration, which makes it straightforward to sync spreadsheet data with your Angular services, an API, or a chart library:

jspreadsheet(this.spreadsheet.nativeElement, {
    worksheets: [{ minDimensions: [10, 10] }],
    onchange: (worksheet, cell, x, y, value) => {
        console.log(`Cell (${x}, ${y}) changed to ${value}`);
    },
});

All events are listed in the events documentation.

How Jspreadsheet Compares to Other Angular Spreadsheet Libraries

Jspreadsheet Handsontable AG Grid
Excel-like editing experience Yes Yes Partial
Formula functions 500+ About 400 via HyperFormula About 100
XLSX import and export Both directions, full fidelity Requires third-party libraries Export only, Enterprise
Real-time collaboration Built in Not available Not available
Angular support TypeScript-first API Official wrapper Official wrapper
Free version Jspreadsheet CE, MIT Non-commercial only Community edition, without spreadsheet features

AG Grid is a strong choice for read-heavy analytics grids. Handsontable is a capable spreadsheet component with a different licensing model. Choose Jspreadsheet when your users expect a real spreadsheet: formulas, XLSX round trips, and Excel behavior, at a lower total cost of ownership. See the detailed Handsontable comparison, AG Grid comparison, and pricing.

Frequently Asked Questions

Is there a free Angular spreadsheet component?

Yes. Jspreadsheet CE is MIT-licensed and free, including for commercial use. The Pro edition on this page adds XLSX import and export, the 500+ function formula engine, real-time collaboration, and more, with a 30-day free trial and no credit card required.

Does Jspreadsheet work with modern Angular and TypeScript?

Yes. Jspreadsheet ships full TypeScript definitions and works with modern Angular, including standalone components, as shown in the quickstart above. Initialization happens in ngAfterViewInit with a ViewChild reference.

Can users open and save Excel files?

Yes. XLSX, XLS, and CSV import and export are built in. Formulas, cell formatting, merged cells, and multiple worksheets are preserved in both directions.

How many rows can an Angular spreadsheet handle?

Hundreds of thousands of rows. Virtual rendering only draws visible cells, so scrolling and editing stay smooth as data grows.

What is the difference between an Angular spreadsheet and an Angular data grid?

A spreadsheet gives users free-form editing with formulas and Excel behavior. A data grid presents structured records with typed columns and validation. Jspreadsheet does both: see the Angular data grid page for the data-centric view, or the Angular table page for lightweight editable tables.

More resources

Angular documentation · Getting started · Examples · Angular data grid · Angular table · React spreadsheet · Vue spreadsheet

Start Your Free Trial Today

Ready to get started? Get your Jspreadsheet free 30-day trial today and bring Excel-quality spreadsheet experiences to your Angular spreadsheet applications. Full access to all features. No credit card required.