Skip to content

code-by-sia/OpenWebSheet

Repository files navigation

OpenWebSheet

OpenWebSheet is an open-source, web-based spreadsheet application. It runs in the browser, can be installed as a Progressive Web App (PWA), and stores spreadsheet documents in the project's .ows format.

CI status

Demo and PWA installation

OpenWebSheet demo

  1. Open the hosted app: https://code-by-sia.github.io/OpenWebSheet/
  2. Install the PWA using the install icon in the browser address bar.
  3. Download the sample file: https://code-by-sia.github.io/OpenWebSheet/DEMO.ows
  4. Use the folder/load icon in the app to open the sample .ows file.

Features

  • React application shell with shadcn-style controls
  • Canvas-based spreadsheet rendering
  • Basic cell content editing
  • Borders
  • Merge and split cells
  • Basic formula support
  • Import/export support for the native .ows format
  • PWA support

Roadmap

  • Basic structure
  • Canvas rendering
  • Basic content editor
  • Borders
  • Merge and split
  • Formula and expressions
    • Basic support
    • Advanced features
  • Import/export
    • Mathematical formulas
    • OpenOffice/OpenDocument format support
  • Advanced UI features

Project setup

Install dependencies:

npm install

Start the development server:

npm run dev

Build for production:

npm run build

Run type checking:

npm run typecheck

Run unit tests:

npm test

Run Storybook for isolated UI development:

npm run storybook

Documentation

Additional documentation is available in the docs/ directory:

Contributing

  1. Create an issue or choose an existing one.
  2. Create a focused branch for the change.
  3. Keep changes small and reviewable.
  4. Run tests, type checking, and the production build before opening a pull request.
  5. Update documentation when behavior, setup, or architecture changes.

License

OpenWebSheet is released under the MIT License.

Packages

 
 
 

Contributors