EU AI Act deadlines are already in effect: Get the Checklist

Apryse How-To Guide

XLS Editor SDK: How to Add Excel Editing to Your Web Application

The Apryse Spreadsheet Editor loads and edits XLSX, XLS, and CSV files entirely in the browser through a WebAssembly module compiled from Apryse's C++ core, so you can access a full-featured experience directly in your JavaScript app. No file content needs to go to third-party infrastructure or any third-party server. For teams evaluating data residency requirements, the file never leaves the browser it opened in.

What XLSX Editing in the Browser Actually Means

The Apryse Spreadsheet Editor is shipped as an add-on for the WebViewer core SDK, which provides a wide range of document viewing and processing capabilities, for PDF and other formats. For developers, this means that getting the Apryse Spreadsheet Editor to meet a specific set of requirements also sets projects up with a range of additional basic capabilities and growth opportunities, such as DOCX editing, digital signatures, and extraction, all from one unified SDK, not multiple libraries or vendors.

An XLSX document is more than data, it includes formatting and other data as well. Editing an XLSX file means reading the workbook's internal structure, including cell values, formulas, formatting, and chart objects, then writing changes back into that same structure without corrupting it. The Apryse Spreadsheet Editor add-on does this directly in the browser: it reads the XLSX file format (or XLS and CSV, converted to XLSX on load), renders it in a familiar interface, and recalculates formulas and cell references as a user or your application changes the workbook.

XLSX editing rarely ships as a single, isolated feature. Most applications that need it also need to view PDFs, DOCX files, or other formats their users work with, often with the same review experience across all of them. The Apryse Spreadsheet Editor is one of three format-specific add-ons, alongside the DOCX Editor and PDF Editing, built on the same WebViewer SDK, so an application already using Apryse for document viewing adds spreadsheet editing through the same API and interface rather than a separate library.

  • Formatting: In Edit mode, the Spreadsheet Editor supports cell formatting (fonts, colors, borders, bold, italic, underline, strikethrough), as well as row and column operations and cell merging.
  • Formulas: a published set of over 260 Excel-compatible functions across math, statistics, date and time, text, logical, lookup, financial, and engineering categories.
  • Charts: rendering for eleven chart types including Column, Bar, Pie, Line, and Scatter. Charts already present in a workbook can be selected, moved, and resized in the browser; the editor does not currently support creating new charts or changing chart types.
  • Review and Collaboration: Threaded, cell-level comments carry over from Excel (legacy Notes convert automatically on load) and can be created, edited, and replied to through the UI or the CommentManager API, using the same Notes Panel pattern as WebViewer and the DOCX Editor.
  • Export: Edited workbooks save and download as XLSX or PDF. The Spreadsheet Editor does not export back to XLS or CSV.

How Apryse XLSX Editing Works in the Browser, and Why That Matters for Data Residency

Copied to clipboard

The Spreadsheet Editor runs on the same architecture as the rest of WebViewer: Apryse's C++ core compiled to WebAssembly, running inside the browser tab. There is no server call to open, render, or save the file. The Spreadsheet Editor add-on activates automatically when an XLSX, XLS, or CSV file loads with the add-on license active, so there is no separate constructor option to configure for this client-only path.

For a broader look at everything the Spreadsheet Editor SDK supports beyond XLSX files, including comments and workbook operations, see the Spreadsheet Editor capability page. For programmatic control over workbook data without the visual editor, see the Excel API for developers.

Because the WASM module runs client-side, the workbook's content stays in the browser for the entire editing session. Third-party servers aren't used for storing or processing data, unless your own application code sends it somewhere.

Client-side editing matters most for teams with data residency requirements, and for workflows evaluated under frameworks like GDPR or HIPAA, where a document processed entirely on the client can help support residency and privacy requirements that a server round-trip would work against.

Client-Side vs. Server-Side XLSX Editing

Copied to clipboard
Capability
Client-Side (Apryse Spreadsheet Editor)
Server-Side Tools
Data residency
File content stays in the browser and is not transmitted for processing.
File content uploads to a server for processing.
Network dependency
No further server call is needed to render or edit the file once it has loaded.
Each render or edit action can depend on an available server connection.
Server cost
No document-processing server to provision or scale.
Server infrastructure scales with concurrent editing sessions.
File size limits
Governed by the browser's available memory and the device's processing power.
Often governed by server-side processing limits and upload size caps.

Comparing Tools

Teams comparing browser-based spreadsheet editing options often also look at Syncfusion Spreadsheet, GrapeCity SpreadJS, Zoho Sheet API, and Handsontable. Here's a quick look at these choices:

  • Syncfusion: bundles a spreadsheet component into a broader suite of more than 1,600 controls.
  • GrapeCity SpreadJS: A dedicated spreadsheet component licensed per developer and per deployment hostname, rather than bundled into a broader suite.
  • Zoho Sheet API: The API layer for Zoho's hosted spreadsheet application, not embeddable software you run inside your own client. Files are created and stored in Zoho's environment rather than processed in your application's browser tab.
  • Handsontable: A JavaScript data grid, MIT-licensed through 2018 and commercially licensed since. It's built for tabular data display and editing rather than full workbook fidelity.

Setting Up the Spreadsheet Editor SDK

Copied to clipboard

The document viewer SDK powers WebViewer, which the Spreadsheet Editor runs on top of.

Install WebViewer with npm:

The Spreadsheet Editor is an add-on, so it needs an add-on license (or simply a trial license to check it out) in addition to a standard WebViewer license key. Once that license is active, opening an XLSX, XLS, or CSV file through loadDocument or the initialDoc option activates the editor automatically.

The add-on opens in View mode by default: users can navigate the grid, view calculated cells and formulas, and switch sheets, but cannot edit. Developers can switch to Edit mode as shown below:

A few extra notes on configuration:
Copied to clipboard
  • SpreadsheetEditorManager and the underlying Workbook object are only accessible after the SPREADSHEET_EDITOR_READY event fires; calls made before that event fail silently.
  • XLS and CSV files need no separate handling: pass them to the same loadDocument call as an XLSX file, and the editor converts them to XLSX in the browser on load without modifying the original file in your storage.

What doesn't Spreadsheet Editor support today?

Copied to clipboard

As of this writing, the Spreadsheet Editor does not currently support real-time co-editing, creating new pivot tables, conditional formatting, or editing on mobile browsers out of the box. However, we're continually building new features for Spreadsheet Editor in our quarterly WebViewer releases.

Frequently Asked Questions

No additional server call is needed to render or edit the workbook once the WebViewer assets and the file have loaded in the browser. Editing, formula recalculation, and formatting all run locally through the WASM module.

No. The Spreadsheet Editor processes the file entirely in the browser. Third-party infrastructure never receives the workbook's content, and no other server sees it unless your own application code sends it there.

Yes. XLS files convert to XLSX in the browser on load, and editing works on the converted file. The original XLS file in your storage is not modified, and the editor does not export back to XLS: edited files save and download as XLSX or PDF.

Apryse does not publish a fixed maximum file size for the Spreadsheet Editor. In practice, the limit is set by the browser's available memory and the device's processing power rather than a hard cap in the SDK.

Cell- or range-level editing restrictions are not part of the Spreadsheet Editor's current documented capability set. Confirm current status with Apryse before committing to this in your application design.

Get Started

With Apryse, you can easily add XLSX editing to your application, supporting your end-to-end document lifecycle.