git clone https://github.com/nusr/excel.git
cd excel
npm i -g pnpm jscpd
pnpm i
pnpm exec playwright install --with-deps
npm run start
src
├── canvas # two layer canvas
├── components # basic components
├── containers # spreadsheet view
│ ├── Excel # Excel export and import
│ ├── hooks # common React hooks
│ └── store # global state management
├── controller # spreadsheet controller
├── formula # Recursive descent parser parse Excel formulas
├── i18n # i18n
├── model # spreadsheet model
├── theme # dark mode
├── types # TypeScript types
└── util # common methods
- Web Worker parse formulas
- OffScreenCanvas Render
- Cross-tab Collaboration
- Undo
- Redo
- Copy
- Cut
- Paste
- Formulas
- Font Family
- Font Size
- Font Color
- Fill Color
- Bold
- Italic
- Strike
- Underline
- Border
- Text Vertical Align
- Text Horizontal Align
- Text Wrapping
- Number Format
- AutoFilter
- Merge Cells
- Chart
- Floating Picture
- Define Name
- Insert Row
- Insert Column
- Delete Row
- Delete Column
- Hide Row
- Hide Column
- Row Height
- Column Width
- Insert Sheet
- Delete Sheet
- Rename Sheet
- Hide Sheet
- Unhide Sheet
- Import XLSX
- Export XLSX
- Import CSV
- Export CSV
- Dark Mode
- I18N