Replacement for WickedGrid aka jQuery.sheet
A solution: https://gitlab.com/tikiwiki/tiki/-/merge_requests/9190
Tiki Spreadsheet uses jQuery.sheet that was renamed to https://spreadsheets.github.io/WickedGrid/
but it's no longer developed: https://github.com/Spreadsheets/WickedGrid/commits/master
.
Let's take this opportunity to think about: Merge Tiki Spreadsheet into Tiki Trackers
Characteristics of a better candidate
- Offer a spreadsheet literally (not any form of other components like table, etc)
- Ability to have multiple sheets (add/edit/remove/switch) per instance
- File import/export feature
- Data representation in graphs
- Formulas and printing features
- Multi-language support
- An active project (with updates coming in regularly)
- Has all the features we want as Open Source
- It is common in this space to have an Open Source community edition, and a proprietary enterprise edition. Let's be aware.
- It is common in this space to have an Open Source community edition, and a proprietary enterprise edition. Let's be aware.
List of candidates:
1.1. Handsontable
- Pros
- Vuejs support
- Getting frequent updates
- Cons
- Not necessarily a spreadsheet but a table
- Is license
compatible with Tiki?
- No. It fails number 6 here: https://opensource.org/osd
- No. It fails number 6 here: https://opensource.org/osd
1.2. Univer
License: Apache-2.0
- Pros
- Support formulas
- Permissions (Allows restricting access to specific elements)
- Printing and import/export features
- Charts
- And a bunch of other functionalities
- Supports multiple languages
- Getting frequent updates
- A plugin-based design
- Cons
- Doesn't provide only spreadsheet but also documents, and slides (Could be an advantage in some other ways). This shouldn't be considered a big deal since you install and import what you want.
- Partially open source
1.3. x-spreadsheet
License: MIT
- Pros
- The demo at https://myliang.github.io/x-spreadsheet
seems to be a functional spreadsheet
- Import/Export can be managed through a third-party lib (sheetjs)
- Support multiple language
- The demo at https://myliang.github.io/x-spreadsheet
- Cons
- Doesn't seem to be active:
- Last release on Sep 13, 2020
- The description says: The project has been migrated to @wolf-table/table
- Doesn't seem to be active:
1.4. Jspreadsheet CE
License: MIT
- Pros
- Vuejs support
- lightweight
- Cons
- Can't have multiple sheets
- No toolbar provided allowing to format content in different ways
- No dynamic formulas. Example of formulas provided https://bossanova.uk/jspreadsheet/v4/examples/footers
- Partially open source
1.5. Lumina
License: MIT
- Pros
- Support multiple sheets
- Vuejs-based
- Print and import/export feature
- Cons
- No release available
- No documentation available
- Not a library (Sorry.)
1.6. FortuneSheet
License: MIT
- Pros
- Support multiple sheets
- Formulas & Functions
- Import/Export feature
- Getting updated regularly
- Cons
- Available only for React
- Available only for React
1.7. SheetJS
- Cons
- The features: graphs, pivottables, and formulas are not included in the open source model
- The features: graphs, pivottables, and formulas are not included in the open source model
1.8. ExcelJS
Read, manipulate and write spreadsheet data and styles to XLSX and JSON
License: MIT
- Pros
- Cells styling
- Formulas & functions
- Cell & sheet protection
- Read & write XLSX and CSV
- Cons
- No UI Component. All operations are done programmatically
- Since it focuses on backend operations, it cannot generate graphs, and pivottables
While ExcelJS does not provide any UI component, it can be used alongside other flexible spreadsheet-like components to create a more interactive and dynamic spreadsheet experience such as Tabulator
which is fully open source.
1.9. IronCalc
Pros
- Open-source and lightweight.
- Designed for performing spreadsheet-like calculations programmatically.
- Supports formulas and dependencies.
- Can handle multiple worksheets.
- Active project
Cons
- No built-in UI; focused on backend operations for spreadsheet data processing, so it needs to be pair it with a front-end library like Tabulator or Handsontable for a full-featured spreadsheet UI
- Limited documentation and community support.
- Still a work in progress
1.10. Tabulator
License: MIT
- Pros
- Multi-language support
- Ability to have multiple sheets (add/edit/remove/switch) per instance
- File import/export feature
- An active project (with updates coming in regularly)
- Can integrate with backend libraries like ExcelJS for advanced functionality
- Column calculations
- Vuejs support
- Cons
- Primarily a data table library
- Primarily a data table library
1.11. HyperFormula
Pros
- License MIT
- Purely formula-based library for spreadsheets.
- Supports over 380 built-in formulas.
- Handles dependencies and recalculations efficiently.
- Can be integrated with various front-end frameworks.
- Multi-language support
- Active project
- Have an Open Source edition
- Vuejs support
Cons
- Requires integration with another library for UI components.
- Focuses on formula calculations rather than complete spreadsheet functionality.
- No data representation in graphs
1.12. DataTables
Pros
- License MIT
- Highly customizable and extendable data table library.
- Supports data import/export, filtering, and sorting.
- Multi-language support
- Vuejs support
Cons
- Focuses on tabular data, not full spreadsheet features.
- Limited formula and graph support.
1.13. Wafflebase
Pros
- From same author as Summernote
Cons
1.14. Grist
Pros
- Has concepts of hybrid spreadsheet and database, like we are thinking here: Merge Tiki Spreadsheet into Tiki Trackers
Cons
1.15. OnlyOffice spreadsheet
Pros
Cons
Fileverse
https://github.com/fileverse/fileverse-dsheet
We choose