Docs / Editors / XLSX Editor
XLSX Editor
Svelte 5 port of the Extend UI xlsx-editor. Double-click a cell to edit it, type =SUM(C2:C6) for a local formula, style the selection, then export back to .xlsx.
Fixture workbook
No workbook to edit
Pass a workbook URL with src or bytes with data.
Last edit: none yet
Last export: none yet
Dark mode
No workbook to edit
Pass a workbook URL with src or bytes with data.
Empty state
No workbook to edit
Pass a workbook URL with src or bytes with data.
Differences from upstream
Also exported as XlsxEditorPreview, the upstream name.
- Formulas are kept from the file and shown in the formula bar; each shows the file's saved value until it or one of its inputs is edited. Then SUM, AVERAGE, MIN, MAX, COUNT, PRODUCT, TRUE/FALSE, and arithmetic over same-sheet references recalculate locally with Excel's argument rules; other formulas (cross-sheet references, other functions, comparisons) keep the saved value and do not recalculate.
- Styling is limited to bold, horizontal alignment, and fill, and is not written on export (the community SheetJS writer drops styles). Values, formulas, and cell addresses are kept.
- Added props:
data,showToolbar,rowHeight,height,overscan,onCellChange,onExport, plus an Export .xlsx button. - The dark-mode control is a toolbar switch instead of a workbook actions menu item. It only
calls
onIsDarkChange. - Not ported: italic, underline, strikethrough, font family and size, text color, borders, number formats, merge cells, wrap text, vertical alignment, undo/redo, add/remove sheet, cell formatting from the file, frozen panes, column resize, zoom, the upload menu, and read-only mode for files over 5 MB.
- Exports:
XlsxEditorSurface(a react-xlsx context surface) is not ported;XlsxEditoris self-contained. Sheet tabs reuse the viewer'sWorkbookSheetTabs, as upstream does. - Keyboard follows upstream: the grid is one Tab stop; the arrows, Ctrl/Cmd+arrows, Home/End,
PageUp/PageDown, Tab/Shift+Tab, and Enter/Shift+Enter move the active cell; typing or F2
edits; Delete or Backspace clears. In the cell editor Enter commits and stays, Escape
cancels, and the arrows commit and move. Not ported: range selection (Shift+arrows move
instead of extending), undo/redo, copy/paste, and the column sort menu (upstream
WorkbookTableHeaderMenu).