git clone https://github.com/nusr/excel.git
cd excel
npm i -g pnpm jscpd
pnpm i
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
- 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
- ABS
- ACOS
- ACOSH
- ACOT
- ACOTH
- ASIN
- ASINH
- ATAN
- ATAN2
- ATANH
- AVERAGE
- COS
- COT
- E
- EXP
- INT
- PI
- SIN
- SUM
- CHAR
- CODE
- CONCAT
- CONCATENATE
- LEN
- LOWER
- SPLIT
- T
- TEXT
- TRIM
- UNICHAR
- UNICODE
- UPPER