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, budgeting/forecasting, scientific, engineering, healthcare, insurance, and many other similar JavaScript spreadsheet business applications.
- Create custom JavaScript spreadsheets, advanced grids, dashboards, reports, and data input forms and much more with the comprehensive API
- Leverage the powerful, high-speed calculation engine for your most complex calculations
- Import and export your most demanding Excel .xlsx spreadsheet
Bring AI to Your JavaScript Spreadsheets Applications.
Watch the CodeClinic Live On Demand! Watch Now ≫
Test Drive the Ultimate JavaScript Spreadsheet
JavaScript spreadsheet components are software elements that enable developers to add Excel-like features to web applications. SpreadJS offers a suite of controls for .xlsx import/export, data input, 30+ chart types, cell customization, a robust calculation engine with 500+ functions, and more.
Ultimate JavaScript Spreadsheet Solution
Familiar Spreadsheet Experience with Excel IO
SpreadJS delivers a robust JavaScript spreadsheet experience, featuring support for worksheets, row and column headers, a status bar, and more. It includes comprehensive features to provide a complete Microsoft Excel-like experience - even for your Excel power users - including charts, tables, shapes, sparklines, conditional formatting, functions and filtering and so much more. With support for seamless Excel import and export, you can easily integrate your existing spreadsheet data and create and share reports without any dependency on Microsoft Excel.
High-Performance Spreadsheet Engine
SpreadJS has been designed and optimized from the ground up for fast performance that can handle your most demanding spreadsheet files and datasets. The powerful Calc Engine offers 500+ functions in 19 Languages 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.
Complete Document Control
SpreadJS offers comprehensive control over your JavaScript spreadsheets, allowing developers to have precise control over what areas of the spreadsheet data - such as cells, rows, columns, sheets and formulas - can be accessed or edited by the user. With the extensive API, you can secure, manage and help eliminate risk such as for Regulatory compliance while keeping the same Excel spreadsheet functionality your users love online but in your controlled and secure environment.
Code-Free JavaScript Spreadsheet Designers
Create and customize spreadsheets without writing a single line of code using the SpreadJS Desktop Designer and optional Designer Ribbon Component add-on. The Desktop Designer provides developers a user-friendly interface for building templates, while the Designer Ribbon Component allows developers to embed a full-featured designer ribbon UI into their applications, complete with a customizable ribbon, formula bar, and status bar. Enable your end-users to easily design, format, and manage complex spreadsheets directly within your web apps.
JavaScript Spreadsheet Features
-
Top Showcase Demos
Import/Export Excel XLSX Import & Export Excel Files
Easily import/export Excel files in JavaScript. Load, modify, and save complex .xlsx files or export data to Excel or a database.
Interactive JavaScript Spreadsheet Forms Interactive Forms
Create interactive JavaScript data entry forms with images, cell formatting, formulas, and form controls like buttons, listboxes, and combo boxes for dynamic input.
Financial Reports & Analysis in JS Spreadsheets Financial Reports & Analysis
Build JavaScript spreadsheets for financial reports, budgeting, and business apps like Income Statements and Aging Reports for real-time insights.
Interactive Dashboards in JavaScript Spreadsheet Controls Interactive Dashboards
Build interactive JavaScript dashboards with charts, sparklines, tables, and images—perfect for financial KPIs, project dashboards, gradebooks, and more.
Advanced Data Analysis using JavaScript Spreadsheets Advanced Data Analysis
SpreadJS provides advanced data analysis with dynamic manipulation, extensive formulas, interactive visualizations, and pivot tables for powerful insights.
Interactive Diagram Creation in JS Spreadsheet Control Interactive Diagram Creation
Add interactive flowcharts, spatial layouts, and mind maps to JavaScript apps for clear visualization of complex relationships and data insights.
Performance Benchmark Performance Benchmark
Experience high performance with seamless large dataset handling—our demo loads 2 million cells in under a second and adjusts properties instantly.
- Import & Export Excel Files
- Interactive Forms
- Financial Reports & Analysis
- Interactive Dashboards
- Advanced Data Analysis
- Interactive Diagram Creation
- Performance Benchmark
-
Import/Export Features
Import/Export Excel from JavaScript Applications Import & Export Excel Files
Easily import/export Excel files in JavaScript. Load, modify, and save complex .xlsx files or export data to Excel or a database.
Import & Export the Optimized SJS Files Import & Export the Optimized SJS Files
SpreadJS uses its .sjs file format to save and load spreadsheets, preserving all features, styles, and data for fully functional sharing within applications.
Import/Export XLSM Files from JavaScript Applications Import & Export XLSM Files
Import and export Excel Macro-Enabled Workbooks (.xlsm) in SpreadJS. Macros are preserved for Excel but cannot run in SpreadJS.
Import/Export XLTM Files from JavaScript Applications Import & Export XLTM Files
Import and export Excel Macro-Enabled Templates (.xltm) in SpreadJS. Macros are preserved for Excel but cannot run in SpreadJS.
Exporting to PDF Exporting to PDF
Use savePDF method for direct PDF export in your JavaScript spreadsheet app, converting .xlsx files with options for margins, headers, footers, and orientation.
Import & Export CSV Files from JavaScript Apps Import & Export CSV Files
Enables seamless .csv import/export for efficient data exchange with other applications.
Export JavaScript Charts to Image Files Export Charts to Images
Export JavaScript charts as images in popular formats like PNG or JPEG, making it easy to share or embed high-quality visuals in reports, presentations, or websites.
Export JavaScript Spreadsheet Range to HTML Export Spreadsheet Range to HTML
Convert cell ranges or sheets to HTML with the toHTML method, including styles, gridlines, and headers for easy web integration.
- Import & Export Excel Files
- Import & Export Optimized SJS Files
- Import & Export XLSM Files
- Import & Export XLTM Files
- Exporting to PDF
- Import & Export CSV Files
- Export Charts to Images
- Export Spreadsheet Range to HTML
-
Powerful Calculation Engine
Advanced Calculations Advanced Calculations
Supports over 500 built-in functions for comprehensive data analysis.
Create Formula Text Boxes in JS Applications Create Formula Text Boxes
Enable users to view, edit, and create formulas with a formula text box, including a range selector button for easy cell referencing.
Formula Editor Panel Formula Editor Panel
Simplify complex formulas with SpreadJS's Formula Editor—collapsible views, syntax highlighting, and tooltips for easy editing and debugging.
Custom JavaScript Functions Custom Functions
Easily create and integrate custom functions tailored to your specific needs.
JavaScript Dynamic Arrays Dynamic & Spilled Arrays
Native support for dynamic arrays, allowing for flexible, real-time data calculations.
Iterative Calculations in JS Apps Iterative Calculations
Help solve problems by reusing previous results. The CalcEngine.goalSeek function enables what-if analysis and future value calculations for investments.
Formula Auditing in JS Spreadsheet Control Formula Auditing
Extensive tools for tracing dependencies, precedents, and evaluating formula logic.
Apply Array Formulas using JavaScript Spreadsheets Array Formulas
Array formulas, often referred to as CSE (Ctrl+Shift+Enter) formulas, accept array arguments and return array values.
Table Formulas in JavaScript Worksheet Table Formulas
SpreadJS supports total row formulas in tables, allowing users to quickly select and insert summary functions from a dropdown list.
Pivot Calculated Items in JavaScript Pivot Tables Pivot Calculated Items (Optional Add-On)
The SpreadJS' Pivot Table Add-on lets users add custom calculated items in rows/columns, using formulas with constants or other pivot items.
- Advanced Calculations
- Create Formula Text Boxes
- Formula Editor Panel
- Custom Functions
- Dynamic & Spilled Arrays
- Iterative Calculations
- Formula Auditing
- Array Formulas
- Table Formulas
- Pivot Calculated Items
-
Cell Level Features
JavaScript Spreadsheet Cell Types Cell Types
Various cell types allow you to define the information entered and displayed in any cell, or use predefined dropdowns for easier data selection and validation.
Cell Drop-Downs using JavaScript Spreadsheets Cell Drop-Downs
Effortlessly choose data with cell drop-downs. Create interactive forms with lists, date pickers, sliders, calculators, and color pickers.
Range Templates Range Templates
The Range cell type allows custom rendering of data using a template, enabling views like card layouts, multi-rows, or KPI blocks without extra coding.
Drag Fill Options in SpreadJS Drag Fill
Simplify data entry with Auto Drag Fill, which automatically populates similar or incremental values. Custom fill allows for programmatic data loading at runtime.
Data Validation Data Validation
Data validation sets rules for cell entries and provides visual cues for invalid data, helping users correct inputs to meet database restrictions.
Auto Merging Auto Merging
SpreadJS enables AutoMerge for cell ranges, columns, and row/column headers, automatically merging neighboring cells when text matches.
Cell States Cell States
Define custom cell styles to indicate state changes (e.g., edit mode, hover, invalid, active, selected, read-only, changed) and create interactive input forms.
Hyperlinks in JavaScript Spreadsheets Hyperlinks
Enables Excel-like hyperlinks in JS worksheet cells, allowing quick access to sheet locations, URLs, draft emails, and custom commands that function as buttons.
Input Mask Style enforces a specific format to ensure data accuracy in JS apps Input Mask Style
The Input Mask Style enforces a specific format for data accuracy. SpreadJS offers customizable styles with user-defined patterns, placeholders, and masking characters.
Barcodes in JavaScript Spreadsheet Barcodes
SpreadJS supports eleven barcode sparklines, including QR code, EAN-13, EAN-8, and others, which can be applied to any cell via formulas.
Rich Text In Cells in JavaScript Spreadsheet Rich Text In Cells
The Basic Rich Text feature lets you use multiple text styles in one cell, highlighting key information with bold, italic, various fonts, and colors—all in one place for visually appealing spreadsheets.
Formatting in JavaScript Spreadsheet Cells Cell Formatting
SpreadJS offers extensive cell-level formatting options, including type, font, size, borders, colors, alignment, word wrap, indentation, padding, labels, orientation, validation, tags, and comments.
- Cell Types
- Cell Drop-Downs
- Range Templates
- Drag Fill
- Data Validation
- Auto Merging
- Cell States
- Hyperlinks
- Input Mask Style
- Barcodes
- Rich Text In Cells
- Cell Formatting
-
Data Visualization
Sparklines in JavaScript Spreadsheet Sparklines
Sparklines offer a compact visual representation of data trends, such as increases, decreases, minimums, maximums, stock levels, and costs, which can be embedded in any cell.
Conditional Formatting in JavaScript Spreadsheet Conditional Formatting
Use conditional formatting to automatically highlight key information and spot trends in your data based on specified values.
Filtering in JavaScript Spreadsheet Controls Filtering
Use the built-in Excel-like filter dialog for users to easily filter data or create custom filters to display relevant information according to your application's needs.
Slicers Slicers
Excel-like slicers provide a visual method for filtering spreadsheet data, including options for tables, items, charts, aggregations, and custom slicers found on consumer websites.
- Charts
- Sparklines
- Conditional Formatting
- Filtering
- Slicers
-
Other Popular Features
JavaScript Globalization - calculation engine offers 18+ language packages Globalization
SpreadJS supports English, Chinese, and Japanese, and allows for custom resource files for other languages. Its calculation engine offers 18+ language packages and custom function localization.
Programmatically Search Data in JavaScript Spreadsheet Apps Search
Easily search spreadsheets with advanced options like case sensitivity, exact matches, wildcards, and cell ranges. Search text, tags, or formulas using the search method.
JavaScript Spreadsheet Form Controls Form Controls
Create complex, interactive data entry forms for JavaScript apps with controls like buttons, checkboxes, combo boxes, and more using the addFormControl function.
JS Customizable Context Menu | Single-level or multi-level pop-up menu Context Menu
SpreadJS offers an Excel-like context menu for right-click interactions, allowing easy customization by adding or removing options.
JavaScript data-bound table view with grid-like behavior TableSheet
TableSheet offers fast, data-bound table views with a grid-like UI and calculation engine. It uses Data Manager to fetch, interact, and bind server data for efficient analysis.
Data Manager Data Manager
The SpreadJS Data Manager simplifies connecting to TableSheet's data, supporting remote sources like REST, OData, GraphQL, and local JSON, CSV, or XML.
JavaScript Spreadsheet Shapes Shapes
Includes supports for Excel shapes and advanced data-driven shapes, enabling dynamic creation of interactive visuals like manufacturing plant layouts.
Picture Shape in Spreadsheets Picture Shape
The Picture Shape feature in SpreadJS lets you insert, move, resize, and format images, enhancing the visual appeal of your spreadsheets and dashboards.
Camera Shape in JavaScript Spreadsheet Controls Camera Shape
The Camera shape provides an instantly updating view of a spreadsheet range, ideal for dashboards, and supports movement, resizing, rotation, grouping, and Excel I/O operations.
Floating Objects Floating Objects
Add custom floating objects like pictures, logos, or HTML content atop sheet cells. Customize interaction using various properties for a tailored experience.
- Globalization
- Search
- Form Controls
- Context Menu
- TableSheet
- Data Manager
- Shapes
- Picture Shape
- Camera Shape
- Floating Object
-
Optional Add-Ons
Designer Ribbon Compontnet - JS Spreadsheet Toolbar Designer Ribbon Component
Provides a familiar UI with a ribbon, formula bar, status bar, side panels, and context menus. Fully customizable ribbon for tailored spreadsheet experiences in JavaScript apps.
JavaScript Pivot Tables Pivot Tables
Optional support to enable Pivot Tables, including import/export of Excel Pivot Tables. Features Pivot Panel, Slicers, and context menus for efficient data grouping and analysis.
Gantt Chart Sheet Gantt Chart Sheet
SpreadJS offers an optional Gantt Chart Sheet add-on with a data-bound DataTable and spreadsheet UI. Features include Timescales, Taskbars, Tasks, Calendar, and more.
ReportSheet ReportSheet
SpreadJS offers ReportSheet, an optional add-on for quick report creation within JavaScript apps. It supports report design with data entry, pagination, filtering, sorting, and conditional formatting.
DataCharts DataCharts
Create advanced charts bound to SpreadJS' Data Manager; allowing developers to host charts as floating objects or integrate with template cells for dynamic visuals.
JavaScript Spreadsheet AI Add-On Preview AI (Developer Preview)
Add natural language intelligence to your JavaScript spreadsheets with the AI Add-On (currently in Preview). Generate formulas, explain logic, and build PivotTables using plain text prompts—no manual setup required.
- Designer Ribbon Component
- Pivot Table
- Gantt Chart Sheet
- ReportSheet
- DataCharts
- AI (Developer Preview)
Build Your Own JavaScript Spreadsheet
| Quick Start Guide | |
|---|---|
| 1. Download the Latest SpreadJS Release or get it from npm |
Download Full Trial |
| 2. Include the SpreadJS script and CSS files in the documents Head section. Replace "XX.X.X" with the release version downloaded. |
<head> |
| 3. Add a DIV container to host the JavaScript spreadsheet instance. | <div id="ss"></div> |
| 4. Initialize the JavaScript spreadsheet | var workbook = new GC.Spread.Sheets.Workbook(document.getElementById('ss')); |
Learn more with our complete quick start guide for SpreadJS.
The Leading JavaScript Spreadsheet Library
Easy Licensing & Distribution
Generate Distribution Key/s for Your SpreadJS Applications via Your MESCIUS Account After Purchase
Licensing FAQs
SpreadJS is licensed per developer and deployed hostname. Hostname deployment licenses vary depending on whether the deployment is commercial or non-commercial.
Request a Trial Key
Our sales team can provide 30-day trial Distribution Keys for SpreadJS and the optional add-ons upon request, allowing you to deploy SpreadJS during your trial period.
Have Questions? We're Here to Help
Email sales@mescius.com to schedule a call with our product specialists or request a personalized demo through support to discuss your project needs.
What's New in SpreadJS v18.2
SpreadJS v18.2 is available! This release offers several great new enhancements and features to its JavaScript spreadsheet component and optional add-ons, including:
- NEW! Theme Support in the Designer Ribbon Component
- NEW! Funnel & Treemap Charts with the DataCharts Add-On
- Table & Data Binding Enhancements for DataTable conversion and code-based data access
- UI & UX Improvements including streamlined navigation, smarter checkboxes, and faster sheet/dropdown search
- LAMBDA Support for Transform Cells and Paste Special operations
- Async Formula Evaluation for off-sheet processing and async data integration
- Lossless XLSM & XLTM I/O File Format Support for macro-enabled Excel files (macros are not executed)
- Next.js 15 & React 19 Compatibility
- Real-Time Collaboration Enhancements (Developer Preview)
- And Much More!
SpreadJS Media and Content
Introducing Real-Time Collaboration in JavaScript Spreadsheets
New AI Features in JavaScript Spreadsheets: Natural Language and Smart Analysis
How to Import and Export Excel XLSX Using JavaScript
New SpreadJS Addons: ReportSheet and GanttSheet
How to Add a JavaScript Spreadsheet Ribbon Component in Your Web App
New Real-Time Spreadsheet Collaboration in JavaScript Web Apps
New AI Add-On Features in JavaScript Spreadsheets
Add a JavaScript Spreadsheet to Your Web App in 60 Seconds
How to Import and Export Excel XLSX Files in JavaScript
JavaScript Add-On: Designer Ribbon Component
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
Trusted by the World's Leading Companies
"Thanks for providing the best [JavaScript] spreadsheet widget in the world, we're very happy customers. Your product has saved us a TON of time relative to other solutions we used in the past."
Jan Domanski, Labstep
"We have been using Spread in our desk and web products (PerpetualBudget) for over a decade. Not only are the Spread grids great controls but the support at GrapeCity [now known as MESCIUS] is the best. When you need them, they're there!"
Jim Spicer, Spicer-Baer Associates
"I haven't come across such a feature-rich solid Spread before. Thanks for giving such a nice component."
Adavesh Managaon, MVP, Visual C#
"Spread benefits my company because our clients can now see the immediate benefit the websites we create for them provide."
Michael Stark, Owner, StarkNetwork.com