JavaScript spreadsheet components are software elements that help developers add Excel-like functionality to web applications. SpreadJS is a suite of JavaScript spreadsheet controls that includes import/export, data inputs, cell customization, and an extensive calculation engine with over 500 functions.

  • The Industry Leader in Spreadsheets for JavaScript Developers

    With over 25 years of experience in creating award-winning spreadsheets for professional developers, we already know what you want and need. No other spreadsheet vendor can match that. Put our spreadsheet experience to work for you today.

  • Powerful Calculation Engine Includes 500+ Functions in 19 Languages

    With more built-in functions than any other JavaScript spreadsheet, SpreadJS offers a complete function library that includes statistical and financial functions, dynamic arrays and custom user defined functions that are optimized for big data, complex calculations, and advanced Excel models.

  • A Complete Toolbox in One Spreadsheet Control

    Leverage the extensive JS spreadsheet library API and powerful calculation engine to create analysis, budgeting, dashboard, data collection and management, scientific, healthcare, education, financial applications and more.

  • Code-Free with the SpreadJS Designer

    Leverage the power of the included WYSIWYG SpreadJS Designer to quickly design a complex spreadsheet layout using a familiar UI with our desktop designer app - no learning curve required. You can also load your existing Excel .xlsx template files and start being productive immediately.

  • Complete Document Control

    Optimized to work in the browser for large and complex spreadsheet models, you can secure, manage, control and help eliminate risk while keeping the same spreadsheet functionality and ease of use they love online.

  • Deliver True Excel-Like Spreadsheet Experiences, Fast

    Import, modify and export your most complex Excel .xlsx spreadsheets. SpreadJS offers the most complete Excel-like experience, including pivot tables, charts, tables, shapes, sparklines, conditional formatting, filtering and an extensive library with no Excel dependencies to create the most advanced data visualizations.

JavaScript Spreadsheet Top Features

SpreadJS Benchmark

Performance Benchmark

SpreadJS is optimized for fast performance. Launch the Performance Benchmark demo to load random values and set various properties. For example, populate 2 million cells in less than a second.

Spread Designer

Spread Designer

Take full control over the design of your spreadsheets with the SpreadJS Designer: create workbooks from scratch or import your own Excel .xlsx files to edit in an Excel-like WYSIWYG interface.

JavaScript Import/Export .XLSX

Import/Export Excel

The most complete support for importing and exporting your Excel files. Load your most complex Excel (.xlsx) files in JavaScript, make changes, and export to an Excel file or save the data to a database.

JavaScript Pivot Tables

Pivot Tables

SpreadJS includes full support for Pivot Tables, including the import and export of Excel pivot tables. This optional deployment add-on is a powerful data analysis tool used to group, calculate, summarize, and present large amounts of data.

JavaScript TableSheet


TableSheet is a separate high-performance enterprise-grade DataTable that adds the power of the SpreadJS spreadsheet calculation engine, runtime panels, and customized views to handle your most demanding data binding needs fast.

JavaScript Data Manager

Data Manager

The SpreadJS Data Manager is a new data engine API built for performance that makes connecting and interacting with TableSheet's bound data faster and easier than ever before with data relationships and views.

JavaScript Spreadsheet .XLSX Charts


SpreadJS provides support for 11 chart groups, 30+ chart types, trendlines, and combo charts. Set chart layouts, customize elements, and combine chart types to evaluate financial information, perform stock analysis, present sales revenues, and much more.

JavaScript Spreadsheet Sparklines


Sparklines provide a graphical representation of your data Embed. these small sparkline charts in any cell to quickly show trends in your data, such as increases/decreases, minimum/maximum values, stock levels, costs, and more.

JavaScript Spreadsheet Conditional Formatting

Conditional Formatting

Use conditional formatting to automatically highlight important information or easily spot trends in your data using the values you specify. SpreadJS supports the importing and exporting of many of Excels' rules.

JavaScript Spreadsheet 500+ Built-In Functions and Formulas

Advanced Calculations

SpreadJS includes a comprehensive Calculation Engine that supports 500+ built-in functions, custom functions, array functions, dynamic arrays, formula textbox, localized languages function names, most Excel functions, and more.

JavaScript Dynamic Arrays

Dynamic Arrays

Return multiple results from a singular formula like FILTER, RANDARRAY, SEQUENCE, SORT, SORTBY, and UNIQUE. Use the implicit intersection operator within formulas to get single values from a dynamic array formula.

JavaScript Spreadsheet .XLSX Tables


Tables make it easier to manage and analyze related spreadsheet data. SpreadJS supports AutoExpand, conditional formatting, data validation, context menus, fixed headers, table resize and navigation, a total summary row and more.

JavaScript Spreadsheet Filtering


Use the built-in Excel-like filter dialog to allow your users to automatically filter their data or take advantage of creating custom filters to show and hide the relevant data as per your applications needs.

JavaScript Spreadsheet Excel-like Slicers


Similar to filters, Excel-like slicers offer an intuitive visual way to filter your spreadsheet data. Available slicers include table, item, chart, aggregation, and custom slicers such as those used on consumer websites.

JavaScript Spreadsheet 180+Shapes


SpreadJS includes support for many of the Excel shapes and provides more advanced functionality using data-driven shapes to dynamically generate the shape to create interactive shapes such as a manufacturing plant floor.

JavaScript Spreadsheet Cell Types

Cell Types

SpreadJS includes many different cell types you can apply to any cell. Define the type of information that can be entered and displayed in any cell or use predefined dropdowns to make it easier for your users to select and enter valid data.

JavaScript Spreadsheet Range Templates

Range Templates

The Range cell type allows custom rendering of cell data based on a cell range template. Data is bound to the template and rendered into the cell. Create custom rendering, such as card view, multi-row, and custom KPI blocks all without extra code.

JavaScript Spreadsheet Formatting


SpreadJS supports extensive formatting at the cell level. Format any cell properties, including the cell type, font, font size, border, colors, alignment, word wrap, indentation, cell padding and labels, orientation, validation, tags, comments, and more.

JavaScript Spreadsheet Data Validations

Data Validation

Data validation allows you to define restrictions on what data can or cannot be entered within a cell. You can also provide visual indicators on the invalid data to help the user correct the data to fit restrictions of a database.

JavaScript Spreadsheet Cell Drop-Downs

Cell Drop-Downs

Quickly and easily select data using the cell drop-down features. Create input forms, advanced structured forms, and other interactive forms using drop-downs such as lists, date pickers, sliders, calculators, and color pickers.

JavaScript Spreadsheet Cell States

Cell States

Define custom cell styles to provide visual clues when the cell state has changed such as edit mode, hover, invalid, active, selected, read only, or changed. Create interactive input form controls, advanced structured forms and other interactive forms.

JavaScript Spreadsheet Barcodes


SpreadJS supports eleven popular barcode sparklines including QR code, EAN-13, EAN-8, Codabar, Code39, Code93, Code128, GS1_128, Code49, PDF417, and DataMatrix that can be applied to any cell using formulas.

JavaScript Spreadsheet Hyperlinks


SpreadJS supports Excel-like hyperlinks, allowing users to quickly open up links from inside worksheet cells. Navigate to sheet locations, open up URLs, a draft email, or create custom commands that work like buttons in the sheet.

JavaScript Spreadsheet Sorting


SpreadJS can sort data in ascending or descending order and you can specify a column or row index to sort on as well as the sort criteria. Custom complex sorting can also be defined with compare functions

JavaScript Spreadsheet Data-Binding

Data Binding

Bind JavaScript objects and object arrays of data. Bind entire worksheets, tables, or individual cells to data sources. You can also use the SpreadJS Designer to create a binding relation to the data with a template.

JavaScript Spreadsheet Auto-Merge

Auto Merging

SpreadJS supports AutoMerge for any cell range, column and the row and column headers. The neighboring cells in both the rows and columns can be visually merged automatically if the text is the same.

JavaScript Spreadsheet Drag Filling

Drag Filling

SpreadJS makes it easy for your users to enter data by using AutoFill to automatically fill similar data or increment the values in adjacent values. Use custom fill to load the data at runtime programmatically.

JavaScript Spreadsheet Context Menu

Context Menu

SpreadJS includes an Excel-like context pop up menu for interacting with the sheet when the mouse is right-clicked on the control. Easily customize the context menu by adding and removing custom menu options.

JavaScript Spreadsheet Printing


Print a single worksheet, specific data, or multiple worksheets with headers, borders, gridlines and other options. Set page breaks, display preview lines, get page information and print a background image as a watermark.

JavaScript Spreadsheet Exporting to PDF

Exporting to PDF

SpreadJS supports exporting to a PDF file. You can also import your Excel .xlsx files and export it to PDF. The Export operation uses the printInfo object for page setting and provides support for all the printing features that are available in SpreadJS.

JavaScript Spreadsheet Search


SpreadJS makes it easy to find any data in the spreadsheet using the advanced built-in search function. You can also specify options such as the case, exact match, wild cards, cell range to search, and the order.

JavaScript Spreadsheet Floating Objects

Floating Objects

Add custom floating objects like pictures, logos, or custom HTML content that display on the top of the cells in a sheet. Customize objects using the included properties to control interaction.

JavaScript Globalization


SpreadJS includes built-in support for English, Chinese, and Japanese, and create custom resource files for other languages. The SpreadJS calculation engine also includes 18+ language packages and custom function localization.

Frequently Asked Questions About SpreadJS

Why should I choose SpreadJS's JavaScript Spreadsheet Control?

Curious? Download free trial.

How do I get started with SpreadJS's JavaScript Spreadsheet Control?

A good place to start would be our comprehensive getting started documentation.

What is the price for SpreadJS's JavaScript Spreadsheet Control?

A single developer and hostname deployment license for the SpreadJS's JavaScript Spreadsheet Control costs $1499.00 USD, including one year of maintenance and updates. We also offer discounts for volume licensing, academic pricing, and competitive upgrades. Please refer to our Pricing Page for more information on pricing. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.

Where can I find the SpreadJS's JavaScript Spreadsheet Control demos?

You can find our JavaScript Spreadsheet demos here.

Can I deploy an application that uses SpreadJS's JavaScript Spreadsheet Control to unlimited clients?

Of course! SpreadJS is licensed per developer and hostname deployment. As long as they are using the same hostname, the number of clients or applications does not matter; it is still the one hostname. If you deploy to different hostnames, you would need a new deployment license for each of them. Read more about our licensing and pricing.

Is SpreadJS Licensed by Customer?

No. SpreadJS is licensed per developer and deployment hostname only. SpreadJS only looks at the hostname it is being deployed to regardless of the number of customers.

SpreadJS Desktop Designer

SpreadJS Desktop Designer

The SpreadJS Designer, included with the licensed product and trial, is a very powerful WYSIWYG stand-alone desktop application that helps JavaScript developers quickly design spreadsheets using a familiar interface.

  • Create and design new spreadsheets
  • Import your existing Excel files and make any needed changes
  • Create templates that populate data at run-time
  • Export your finished spreadsheet to .ssjson or .xlsx to load into your SpreadJS application

Learn More

Online Spread Designer Demo

Online Spread Designer Demo

This demo uses the developer SpreadJS Designer and brings it to the web so you can experience the Designer right in your browser. Optimized to work within your browser for large and complex spreadsheet models, you can secure, manage, control, and help eliminate risk while keeping the same spreadsheet functionality and ease of use for your end-users love online.

Test out our extensive and powerful calculation engine, allowing you to import your own Excel spreadsheets in our application and create custom functions, dynamic arrays, and 500+ other built-in functions. Our WYSIWYG SpreadJS Designer uses a very familiar UI to ensure that there is no learning curve required, just load in your existing Excel .xlsx template files and start being productive immediately.

Experience 11 chart groups, 30+ chart types, trendlines, and combo charts designed to help you visualize your data. Create custom chart layouts and combine various chart types to better evaluate information.

Try It Now

<a href="/spreadjs/javascript-spreadsheet-designer">Spreadsheet Designer Component</a>

Spreadsheet Designer Component

The SpreadJS Designer Component is a separate deployment add-on package that gives JavaScript developers the ability to embed this same ribbon bar and UI functionality into their own web applications making it easy for their customers to customize the spreadsheet.

The Designer includes Angular, React, and Vue wrappers, which provide you with the ability to embed the designer into your Angular, React, or Vue projects easily. Using the Designer in these frameworks is as simple as referencing the required node packages, importing the required modules, and implementing the required framework script code to initialize the designer.

Learn More

<a href="/spreadjs/releases">What's New in SpreadJS v15</a>

What's New in SpreadJS v15

SpreadJS v15 is available. This release offers several great new features, some of which include:

  • TableSheet and Data Manager
  • PivotTable Enhancements
  • Workbook Enhancements
  • Chart Enhancements
  • And More

SpreadJS Releases

Award-Winning Products and First-Class Support

ComponentSource - Number 2 Publisher 2020 ComponentSource - Top 5 Product 2020 ComponentSource - Top 50 Product 2020 ComponentSource - Top 50 Product 2019

GrapeCity Spread is Trusted by the
World’s Leading Companies

Trusted by the World’s Leading Companies