Skip to content

x-spreadsheet

A web-based JavaScript spreadsheet you can embed in a page, Excel-style, with no server needed.

Stars
14.6k
Forks
1.7k
Licence
MIT
Language
JavaScript
Last update
2.2 years ago
Type
Library

No commits in over a year — check for forks or alternatives before adopting.

What it is

x-spreadsheet is a JavaScript component that adds an interactive spreadsheet grid to a web page. Developers place it in a page, load data into it, and users can edit cells, format them, and use common spreadsheet features. It is aimed at apps that need an Excel-like editing area inside the browser.

  • Embed an editable spreadsheet grid in a web form or dashboard
  • Load data into the grid and listen for cell edits to save changes to a database
  • Offer multiple sheets, data validation, and printing inside a web app
  • Provide a Chinese-language interface using the included zh-cn locale

Great for

  • Web developers who want a spreadsheet-style editor inside their own app
  • Teams building internal tools that need cell editing, formulas, or data entry in the browser
  • Developers who need import and export to xlsx through the linked SheetJS demo

Not ideal for

  • People who just want a spreadsheet to use: this is a component for developers, not a standalone app
  • Projects needing very large datasets or heavy calculation, since the README says nothing about performance at scale
  • Anyone needing active maintenance: the description says the project has migrated to @wolf-table/table, and the last push was in August 2024
Step-by-step guide: how to use x-spreadsheetInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js (version not stated in the README)

    Install from npm

    npm install x-data-spreadsheet
  2. 2

    Run it

    • Add a div with an id to your HTML page, such as <div id="x-spreadsheet-demo"></div>
    • Import Spreadsheet from x-data-spreadsheet in your JavaScript
    • Create the grid with new Spreadsheet("#x-spreadsheet-demo") and call loadData({})
    • Open the page in a modern browser to see the editable grid
  3. 3

    Get the most out of it

    • Pass an options object to change defaults such as mode (edit or read), row and column sizes, and default styles
    • Use the change callback to save edits to your database
    • Bind cell-selected and cell-edited events to react to user actions
    • Use cellText and cell methods to read and update cells from code
    • Import the zh-cn locale file to switch the interface language

Downloads

Strengths

  • Simple setup: one npm install or a CDN script tag and a single function call
  • Covers many common spreadsheet features such as undo/redo, merged cells, freeze panes, and formulas
  • MIT licensed and widely used, with over 14,000 GitHub stars

Trade-offs

  • The repository description says the project has moved to @wolf-table/table, so new work may belong there instead
  • The README's browser support note is brief and does not list tested versions
  • Documentation is short and the README is truncated, so advanced behavior may need the homepage or source

How it compares

ProjectStarsTypeLevelUpdatedBest for
x-spreadsheet (this)14.6kLibraryintermediate2.2 years agoWeb developers who want a spreadsheet-style editor inside their own app
Luckysheet16.6kLibraryintermediate1.2 years agoDevelopers maintaining an existing site that already embeds Luckysheet
core-js25.5kLibraryintermediate4 days agoWeb developers who must support older browsers or engines that lack modern JavaScript features
PhpSpreadsheet14kLibraryintermediate4 days agoPHP developers who need to generate or import spreadsheet files from a web app or script
nivo14.1kLibraryintermediate4 months agoReact developers who need charts in a web app
G212.7kLibraryintermediate8 days agoFront-end developers adding charts to a web dashboard

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.