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.

About

OpenSource Web based spreadsheet

Topics

Resources

License

Code of conduct

Stars

45 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors