These optional add-ons are not included with the SpreadJS deployment license and need to be licensed separately.
The World's #1 Selling JavaScript Spreadsheet With Over 500 Excel Functions
Deliver true Excel-like spreadsheet experiences, fast - with zero dependencies on Excel. Create financial apps, dashboards, charts, pivot tables, performance benchmarks, science lab notebooks, and other similar JavaScript spreadsheet applications.
Download Free Trial (V 17.1.7) Request A Demo- Create custom JavaScript spreadsheets, advanced grids, dashboards, reports, and data input forms with the comprehensive API
- Leverage the powerful, high-speed calculation engine for your most complex calculations
- Import and export your most demanding Excel .xlsx spreadsheets
- Full support for React, Vue, Angular, and TypeScript
- Includes basic compatibility support for screen readers and ADA compliance for the NVDA for Windows, Windows Narrator, and VoiceOver for OS X screen readers.
- See what's new
See What's New
Overview
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.
Benefits of Our JavaScript Spreadsheet Controls
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.
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.
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.
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.
Code-Free JavaScript Spreadsheet Designer
SpreadJS provides a powerful WYSIWYG Desktop Spreadsheet Designer App for quick creation, editing, and designing of complex spreadsheet layouts with a familiar UI - no learning curve required. An optional Designer Ribbon Component add-on can also be embedded to offer end-users the same UI toolbar and functionality.
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
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
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.
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.
Pivot Tables
SpreadJS includes full support for Pivot Tables, including the import and export of Excel Pivot Tables. This optional deployment add-on, is not included with the SpreadJS deployment license and must be purchased separately. This powerful data analysis tool is used to group, calculate, summarize, and present large amounts of data.
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.
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.
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.
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.
Advanced Calculations
SpreadJS includes a comprehensive Calculation Engine that supports 500+ built-in functions, custom functions, array functions, dynamic arrays, formula textbox, localized language function names, most Excel functions, and more.
Formula Editor Panel
Effortlessly manage long, complex formulas with SpreadJS's Formula Editor Panel plugin. The Formula Panel provides a flexible, formatted, outline view to collapse and expand formulas. Edit, debug, and optimize lengthy formulas seamlessly with flexible outline views, syntax highlighting, tooltip function information, and more.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
Drag Fill
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Input Mask Style
The Input Mask Style constrains user input in a set format to ensure data accuracy and prevent input errors. SpreadJS supports creating customizable styles with the help of user-generated rules containing patterns, placeholders, masking characters, and more.
Pivot Tables
SpreadJS offers optional support for JavaScript Pivot Tables, including the import and export of Excel Pivot Tables. This powerful data analysis tool is used to group, calculate, summarize, and present large amounts of data. Fully customize your application's needs and let SpreadJS PivotTables perform the complex interactive analysis for your applications.
Gantt Chart Sheet
SpreadJS offers an optional JavaScript Gantt Chart Sheet add-on that provides Gantt Chart behavior using a fast, data-bound DataTable and a spreadsheet user interface. This add-on includes standard Gantt functionality: Timescales, Taskbars, Tasks, Calendar capabilities, and more.
ReportSheet
SpreadJS introduced a new optional addon for quick and easy report creation, ReportSheet. This add-on allows your users to easily design reports, including support for data entry, pagination, data filtering, sorting, and conditional formatting.
Designer Ribbon
The SpreadJS Designer Ribbon Component is a separate optional deployment add-on package that allows JavaScript Developers provide their end-users the ability to easily customize spreadsheets using a familiar UI ribbon, formula bar, status bar, side panels, and context menus directly from their app’s interface. The designer component includes Angular, React, or Vue wrappers.
The Leading JavaScript Spreadsheet Library
SpreadJS Designers
Easily Design your JavaScript Spreadsheets
Desktop Spreadsheet Designer Application
Easily design JavaScript spreadsheets with SpreadJS’s Desktop Spreadsheet Designer App, a WYSIWYG spreadsheet designer, included with the purchase of SpreadJS. Quickly design complex spreadsheet layouts using a familiar UI. Users can load existing Excel .xlsx template files and start being productive immediately. Supports creating templates that can populate data at run-time. Export your finished spreadsheet to .ssjson, .sjs, or .xlsx to load into a SpreadJS application.
Spreadsheet Designer Ribbon Component Add-on
The SpreadJS Designer Ribbon Component is a separate optional deployment add-on package that allows JavaScript Developers to embed the same UI components and capabilities of the Desktop Spreadsheet Designer in their applications. Providing their end-users the ability to easily customize spreadsheets using a familiar UI ribbon, formula bar, status bar, side panels, and context menus directly from their app’s interface. The designer component includes Angular, React, or Vue wrappers, which provide the ability to embed the designer into your framework app easily.
The SpreadJS Designer Ribbon Component is fully customizable, so developers can easily add, remove, and re-arrange buttons, tabs, and designer sections by adding, removing, or moving corresponding entries in the configuration file.
Frequently Asked Questions About SpreadJS
Why should I choose SpreadJS' JavaScript Spreadsheet Control?
- Over 25 years of experience in creating an award-winning spreadsheet for professional developers
- A Complete Toolbox in One Spreadsheet Control
- Complete Document Control
- Deliver True Excel-Like Spreadsheet Experiences, Fast
- Powerful Calculation Engine with 500+ Functions
- Check out our Documentation and Demos
- Fast, responsive support through Support Portal
Ready to try it out? Download free trial.
How do I get started with SpreadJS's JavaScript Spreadsheet Control?
A great place to start would be to checkout our comprehensive demos with full sample source code and our getting started documentation.
How can I embed Spread’s Designer Excel-like ribbon in my JavaScript Spreadsheet app?
SpreadJS offers an optional deployment add-on that allows developers to embed the Designer Ribbon Component in their applications. JavaScript developers can customize the ribbon toolbar to fit their application's needs. The Designer Ribbon Component Add-on is not included with the SpreadJS deployment license and must be purchased separately to get a license.
Learn more about SpreadJS’s optional Add-on Designer Ribbon Component.
What is the price for SpreadJS's JavaScript Spreadsheet Control?
SpreadJS is licensed by developer and hostname deployment license and includes one year of maintenance, phone support, and new version upgrade 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 and licensing.
Where can I find the SpreadJS's JavaScript Spreadsheet Control demos?
You can find our JavaScript Spreadsheet demos here.
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.
What's New in SpreadJS v17.1
SpreadJS v17 SP1 is available! This release offers several great new enhancements and features including:
- Formula Performance Enhancements
- Right-to-Left Text Direction
- Chart Data Label “Value Of Cell”
- Custom Table Styles Enhancement
- Angular 17 & Next 14 Framework Support
- Custom Slicer Styles Enhancement
- Protected Sheets Hidden Option for Formulas
- Conditional Formatting Rules Manager Performance Enhancement
- And Much More!
SpreadJS Media and Content
Award-Winning Products and First-Class Support
"I have been using a various form of Spread back to the COM days. Spread is the most reliable spreadsheet that retrieves and stores data, whether interacting with a database or simply an Excel file. Try it out, and you will not go back to any other control"
TRUSTED CUSTOMER
"Great support through evaluation process, Spread is my favorite development add-in, adds great, high value capabilities to applications!"
TRUSTED CUSTOMER
"Excellent Products. I have been using their products for around 15 years. Always there to help."
TRUSTED CUSTOMER