Staaarter

Excel Viewer and Editor

Upload a real Excel workbook, browse every sheet as a tab, edit any cell in a live table, and download a rebuilt .xlsx file with your changes, all in the browser using the SheetJS (xlsx) library. Nothing is uploaded to a server. A free online tool from Staaarter, right in your browser.

By Staaarter Team
csvexceleditorviewer
Runs locallyUpdated 2026-08-06

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.

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

Editing a cell on the second sheet of a workbook

Input

Upload budget.xlsx (sheets: "Summary", "Details")

Output

budget-edited.xlsx (Details sheet's edited cell saved, Summary sheet unchanged)

Switching to the "Details" tab and editing a cell there only updates that sheet's grid, the "Summary" sheet's grid stays exactly as uploaded, and downloading rebuilds both sheets into one workbook.

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.

References

Frequently Asked Questions