Overview
Introduction
Not every quick spreadsheet fix deserves opening a full desktop Excel install, sometimes you just need to peek at a workbook's sheets, tweak a few cells, and get the file back out.
Excel Viewer and Editor does exactly that: upload an .xlsx or .xls file, browse and edit every sheet as an actual table, and download a rebuilt workbook when you're done.
What Is Excel Viewer and Editor?
A browser-based Excel viewer and editor built on SheetJS (the xlsx library), the same parsing engine this site's other Excel tools use to read real .xlsx and .xls files.
Unlike a read-only preview, every cell here is a live text input, and every sheet in the workbook gets its own tab, so multi-sheet workbooks stay fully navigable and editable, not flattened to a single table.
How Excel Viewer and Editor Works
The uploaded file's bytes are parsed with XLSX.read into a workbook object, then every sheet is converted to a plain string[][] grid via XLSX.utils.sheet_to_json with the header:1 option, which preserves rows and columns positionally rather than trying to guess a header row.
Each sheet's grid is kept in its own slot in a per-sheet state object, so editing a cell only touches that one sheet's grid. Downloading rebuilds a fresh workbook from all sheets' current grids via XLSX.utils.aoa_to_sheet and XLSX.write, producing real .xlsx bytes.
When To Use Excel Viewer and Editor
Use this when you need to make a handful of edits to an Excel file, fixing a value, correcting a name across a couple of sheets, without launching a full spreadsheet application.
It's also useful for quickly inspecting what's inside an .xlsx file someone sent you, sheet by sheet, before deciding whether you need to do anything with it at all.
Often used alongside Excel to CSV Converter and CSV to Excel Converter.
Features
Advantages
- Handles multi-sheet workbooks properly, every sheet gets its own tab and its own independent edit state.
- Downloads a real, rebuilt .xlsx file, not a CSV export or a lossy approximation.
- Runs entirely client-side, your spreadsheet's contents are never sent to a server.
Limitations
- Formulas, cell formatting, charts, and other rich Excel features aren't preserved, only the plain cell values are read, edited, and rewritten.
- Editing very large sheets as individual DOM inputs can get slow, this is best suited to small-to-medium workbooks.
Examples
Best Practices & Notes
Best Practices
- Check every sheet tab before downloading if the workbook has more than one, it's easy to forget a sheet exists in a multi-tab file.
- Use Excel to CSV Converter instead if you only need a one-way, read-only export of a single sheet as CSV text.
- Download the edited workbook periodically rather than only once at the end, since edits live only in this tab's memory until you do.
Developer Notes
readExcelWorkbook in excel-viewer-editor.ts wraps XLSX.read (matching this repo's excel-core.ts pattern) and converts every sheet to string[][] via XLSX.utils.sheet_to_json(sheet, { header: 1, defval: "" }). The component keeps a Record<sheetName, string[][]> in state so tab-switching never loses in-progress edits, and buildXlsxFromGrids rebuilds a fresh workbook with XLSX.utils.book_new / book_append_sheet / aoa_to_sheet per sheet, then XLSX.write(workbook, { type: "array", bookType: "xlsx" }), the same write call this repo's other Excel-writing tools use.
Excel Viewer and Editor Use Cases
- Making a handful of manual corrections to an Excel export without opening a full spreadsheet application
- Browsing a multi-sheet workbook's contents sheet by sheet before deciding what to do with it
- Quickly building or adjusting a small multi-sheet Excel file by hand
Common Mistakes
- Forgetting a workbook has multiple sheets and only checking the first tab before downloading.
- Expecting formulas or cell formatting to survive the round trip, only plain cell values are read, edited, and rewritten.
Tips
- If you only need a read-only CSV export of one sheet, Excel to CSV Converter is a lighter-weight option than editing and re-downloading here.
- Pair with CSV Editor if you'd rather work in CSV form after exporting a single sheet out of a larger workbook.