# SpreadJS Overview

A description of the main features of SpreadJS, including links to the main documentation and demo pages

## Content

SpreadJS is a comprehensive spreadsheet solution for enterprise JavaScript development. It combines grid capabilities and spreadsheet functionality to provide a complete Excel-like experience, including [tables](/spreadjs/docs/features/tablegen/tables), [pivot tables](/spreadjs/docs/features/pivot-table/create-pivot-table), [tablesheets](/spreadjs/docs/features/tablesheet), [form controls](/spreadjs/docs/features/UnderstandingShapes/form-controls) for data input forms, [charts](/spreadjs/docs/features/Charts/ChartTypes), [floating objects](/spreadjs/docs/features/floating-objects), [shapes](/spreadjs/docs/features/UnderstandingShapes), [namebox](/spreadjs/docs/features/workbook/name-box), [slicers](/spreadjs/docs/features/sliceruse), [sparklines](/spreadjs/docs/features/sparkmain), high-speed calculation engine, conditional [formatting](/spreadjs/docs/features/condformat), [sorting](/spreadjs/docs/features/sort-data/custom-sorting) and [filtering](/spreadjs/docs/features/rows-columns/filter/filter-operations). It also offers extensive support for [importing and exporting](/spreadjs/docs/excelimpexp/excelimport) native Excel spreadsheets with zero Excel dependencies. Further, SpreadJS provides exclusive features like [barcodes](/spreadjs/docs/features/WorkingwithBarcodes), [rich text](/spreadjs/docs/features/cells/SettingRichTextCell), [cell buttons](/spreadjs/docs/features/cells/celltypes/cellbutton), [cell dropdowns](/spreadjs/docs/features/cells/cell-dropdowns) and range templates to assist developers in creating robust JavaScript applications.
The in-built Calculation Engine covers more than [500 Functions](/spreadjs/docs/formulareference/FormulaFunctions) in 19 Languages. It is a function suite that comprises dynamic arrays, custom user-defined functions, and statistical and financial functions, all which are optimized for heavy calculations, big data and complex Excel models.
Not just this, you can quickly develop web applications with SpreadJS in different [Frameworks](/spreadjs/docs/javascript-frameworks) such as Angular, AngularJS, React, Vue, Breeze and Knockout. You also can use the [SpreadJS File Format](/spreadjs/docs/features/spreadjs-file-format), a file format that makes it easy to work with bulky files in JavaScript applications.
![image](https://cdn.mescius.io/document-site-files/images/df1fe1ee-eb3c-4da7-8c20-a0d8d2b7e734/image.4abb96.png)
SpreadJS also provides a WYSIWYG environment to customize spreadsheets as per the user requirements, which is the designer component, [SpreadJS Designer](/spreadjs/docs/spdesigner). It lets you create and manage business spreadsheets, advanced data grids, interactive dashboards, analytical charts, business intelligence reports, well-defined data entry forms, and more.

> <strong>Note</strong>: Microsoft and Excel are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other brand and product names are trademarks or registered trademarks of their respective holders.

| Documentation | Blogs | Demo Samples |
| ------------- | ----- | ------------ |
| [Easy QuickStart](/spreadjs/docs/getstarted/quick-start) | [What's new in v19 SpreadJS](/spreadjs/docs/rnotes/release-notes-for-version-1900) | [Complex Forms](https://developer.mescius.com/spreadjs/demos/showcase/taxform/purejs) |
| [Cell States](/spreadjs/docs/features/cells/cell-states) | [Using JavaScript Reporting Tool in ASP.NET Core App](https://developer.mescius.com/blogs/how-to-use-javascript-reporting-tool-within-aspnetcore-application) | [Business Dashboards with Charts](https://developer.mescius.com/spreadjs/demos/showcase/business-dashboard/purejs) |
| [Rows and Columns](/spreadjs/docs/features/rows-columns/work-with-rows-columns) | [Importing/Exporting Excel XLSX Using React](https://developer.mescius.com/blogs/how-to-import-export-excel-xlsx-using-react) | [Car Insurance Claim using Shapes](https://developer.mescius.com/spreadjs/demos/showcase/car-insurance-claim/purejs/) |
| [CornerFold](/spreadjs/docs/features/cells/cornerfold) | [Top Challenges of Learning New JavaScript Frameworks](https://developer.mescius.com/blogs/the-top-challenges-of-learning-new-javascript-frameworks) | [Financial KPIs using Sparklines ](https://developer.mescius.com/spreadjs/demos/showcase/financialkpis/purejs) |
| [API Reference](/spreadjs/docs/API-documentation) | [Creating JavaScript Budgeting Application](https://developer.mescius.com/blogs/how-to-create-javascript-budgeting-application-using-a-spreadsheet-library) | [Performance Benchmark](https://developer.mescius.com/spreadjs/benchmark/) |
| [Latest Release Notes](/spreadjs/docs/rnotes) | [Building Cashflow Reports from JavaScript Spreadsheets](https://developer.mescius.com/blogs/how-to-build-monthly-cashflow-report-from-javascript-spreadsheets-with-dynamic-arrays) | [Gradebook Dashboard](https://developer.mescius.com/spreadjs/demos/showcase/gradebook-dashboard/purejs) |

Download a [Free 30-day Trial](https://developer.mescius.com/spreadjs) now and explore the advanced features of SpreadJS.