FortuneSheet is a drop-in JavaScript spreadsheet library that provides rich features like Excel and Google Sheets.
FortuneSheet addresses the need for a feature-rich online spreadsheet that works out of the box without extensive configuration. It originated from Luckysheet and has been substantially rewritten in TypeScript to improve maintainability and solve design issues in the original project. The library manages state and DOM rendering through native React and Vue with Immer, supports multiple independent instances on the same page, and uses a forked version of the Handsontable formula parser for calculations.
The tool suits developers building web applications that need spreadsheet functionality without building from scratch. It works well for projects requiring collaborative editing, data manipulation, and Excel-like interactions. FortuneSheet maintains mostly compatible data structures with Luckysheet, easing migration from that predecessor. The library includes formatting options, cell operations, row and column manipulation, formulas and functions, and an optional plugin for Excel import and export. It supports images, comments, data validation, and custom tools. Developers should be aware that before the stable 1.0 release, input data structures and APIs may change between versions, so checking the changelog and migration guide is necessary when upgrading.
The project has completed work on cooperative editing with backend storage, undo and redo functionality, mobile adaptation, and API exposure. Development has addressed core spreadsheet features including fill handles, fonts, format painter, comments, image insertion, sorting, filtering, conditional formatting, drag and drop, find and replace, data verification, freezing, and text splitting. The team continues work toward pivot tables and charts as more advanced features.