Angular Data Grid Component

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


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

Build an Angular Data Grid 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 a data grid with typed columns:

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

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

@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: [
                    ['SKU-100', 'Keyboard', 'Hardware', '2026-01-15'],
                    ['SKU-101', 'CRM License', 'Software', '2026-02-01'],
                    ['SKU-102', 'Monitor', 'Hardware', '2026-03-10'],
                ],
                columns: [
                    { title: 'SKU', width: '120px' },
                    { title: 'Product', width: '220px' },
                    { title: 'Category', type: 'dropdown', source: ['Hardware', 'Software'], width: '160px' },
                    { title: 'Added', type: 'calendar', width: '140px' },
                ]
            }]
        });
    }
}

Add the stylesheets to your angular.json:

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

You get an editable Angular data grid with dropdown and calendar editors, Excel-style keyboard navigation, and copy and paste that plays nicely with Excel and Google Sheets. The Angular documentation has working StackBlitz examples, and the columns documentation lists every column type.

Angular Integration

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

Modern Angular services and directives for managing Angular data grid 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 data grid engine. This Angular data grid 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 data grid 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 data grid. Build sophisticated calculations and business rules directly into your Angular data grid without server-side processing.



Excel-Compatible User Experience

Your users already know how to use data grids and 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 data grid experiences.

Export to / Import from XLSX

Import and export data grids 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 data grid 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 data grid 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 Data Grid Library for Enterprise Applications

Teams reach for Jspreadsheet as their Angular data grid when records need real editing: product catalogs, order management, pricing tables, and admin panels where users expect Excel behavior instead of clunky per-row forms. Typed columns validate input at the cell level, and sorting, filtering, and search work out of the box.

Because the grid shares its engine with a full spreadsheet, you can add calculated columns with Excel formulas or let users export to XLSX without extra libraries. Compare editions on the pricing page or explore the documentation.

What Developers Build with This Angular Data Grid

Admin panels and CRUD interfaces

Replace per-row edit forms with inline editing. Users update records directly in the grid with dropdowns, calendars, and checkboxes enforcing valid input. The columns documentation lists every editor type.

Grids that stay in sync with your application

Every edit fires an event you can handle in the configuration, so keeping Angular services, an API, or a chart in sync is one handler away:

jspreadsheet(this.spreadsheet.nativeElement, {
    worksheets: [{ data, columns }],
    onchange: (worksheet, cell, x, y, value) => {
        this.updateRecord(y, x, value);
    },
});

Read the current grid state at any time with getData(). All events are listed in the events documentation.

Calculated columns with Excel formulas

Unlike most Angular data grids, Jspreadsheet ships a formula engine. Add computed columns with the same syntax users know from Excel:

data: [
    ['Keyboard', 25, 40, '=B1*C1'],
    ['Monitor', 12, 180, '=B2*C2'],
]

See the formulas documentation for custom functions and the complete 500+ function set.

Excel round trips

Import an XLSX file into the grid, edit it, and export it back with formulas, formatting, and worksheets intact. See import from XLSX and export to XLSX.

How Jspreadsheet Compares to Other Angular Data Grid Libraries

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

AG Grid excels at read-heavy analytics with server-side row models, grouping, and pivoting. If your grid is mostly presentation, it is a fine choice. Choose Jspreadsheet when users edit data: cell-level validation, Excel behavior, formulas, and XLSX round trips come standard, at a lower total cost per developer. See the detailed AG Grid comparison, Handsontable comparison, and pricing.

Frequently Asked Questions

Is there a free Angular data grid with editing?

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.

How does Jspreadsheet handle large datasets in Angular?

Virtual rendering draws only the visible cells, so grids with hundreds of thousands of rows scroll and edit smoothly, without pagination tricks.

Does the Angular data grid support column types and validation?

Yes. Columns can be text, numeric, dropdown, calendar, checkbox, color, image, and more. Each type brings its own editor and validation, so bad data never enters the grid.

Can I export the grid to Excel?

Yes. XLSX, XLS, and CSV import and export are built in, preserving formulas, formatting, and multiple worksheets. No third-party spreadsheet library required.

When should I choose a data grid over a spreadsheet component?

Choose a data grid for structured records with typed columns and validation. Choose a spreadsheet for free-form editing with formulas. Jspreadsheet does both: see the Angular spreadsheet page for the spreadsheet model, or the Angular table page for lightweight editable tables.

More resources

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

Start Your Free Trial Today

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