explaingit

myliang/x-spreadsheet

Analysis updated 2026-06-24

14,611JavaScriptAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

Web-based JavaScript spreadsheet that renders an Excel-like grid in a div, with formatting, formulas, merges, freeze cells, multiple sheets, and xlsx import via SheetJS.

Mindmap

mindmap
  root((x-spreadsheet))
    Inputs
      JSON data
      User edits
      xlsx files
    Outputs
      Rendered grid
      Change events
      Edited data
    Use Cases
      Embed a spreadsheet
      Build an admin editor
      Replace HTML tables
    Tech Stack
      JavaScript
      HTML
      CSS
      Canvas
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Embed an Excel-like editable grid in a web app without paying for a commercial spreadsheet component

USE CASE 2

Build an internal admin tool where users edit tabular data and save changes back to a database on the change event

USE CASE 3

Replace a custom HTML table editor with one that supports merges, freeze cells, undo, and formulas

USE CASE 4

Import and export xlsx files in the browser by pairing x-spreadsheet with the SheetJS demo

What is it built with?

JavaScriptHTMLCSSCanvas

How does it compare?

myliang/x-spreadsheetyonggekkk/cloudflare-vless-trojanwebrtc/samples
Stars14,61114,61014,605
LanguageJavaScriptJavaScriptJavaScript
Last pushed2026-05-20
MaintenanceMaintained
Setup difficultyeasymoderateeasy
Complexity3/54/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

The repository is the older codebase, since the author has moved development to a successor called wolf-table.

MIT lets you use, modify, and ship this in commercial products as long as you keep the copyright notice.

In plain English

x-spreadsheet is a web-based spreadsheet written in JavaScript. It runs in the browser and gives a page something that looks and behaves like an Excel or Google Sheets grid, with rows, columns, cell editing, and a toolbar. The project description notes that work has moved to a successor called @wolf-table/table, so this repository is the older codebase. You can add it to a page in two ways. One is to load the CSS and JS files from a CDN link and call a single function on a div. The other is to install the package from npm under the name x-data-spreadsheet, then import it and create a new Spreadsheet attached to a div in your HTML. Once created, you can call loadData to fill the grid and listen for a change event to save edits back to your own database. The README lists a default options object you can override. It covers things like edit or read mode, whether the toolbar and grid lines show, the starting number of rows and columns, default row height and column width, and a style block for background color, alignment, font name, font size, bold, italic, and text color. There are also methods to read or set the text of a specific cell, read a cell's style, and bind events for when a cell is selected or edited. The features list in the README covers undo and redo, paint and clear format, font controls, text and fill color, borders, merge cells, alignment, text wrapping, freeze cell, functions, row and column resizing, copy and paste, autofill, insert and delete rows or columns, hiding rows or columns, multiple sheets, print, and data validations. Import and export of xlsx files is handled through a separate SheetJS demo that the README links to. The project supports internationalization through a locale system, with a Chinese translation shipped in the package. To work on it locally, you clone the repository, run npm install, then npm run dev and open a local address in your browser. It targets modern browsers such as Chrome, Firefox, and Safari, and is released under the MIT license.

Copy-paste prompts

Prompt 1
Give me a 5-minute setup guide for adding x-spreadsheet to a static HTML page via the CDN
Prompt 2
Show me how to install x-data-spreadsheet from npm and mount it on a div with custom row and column counts
Prompt 3
Wire x-spreadsheet to a backend so loadData fills the grid and the change event saves edits to my API
Prompt 4
Override the default options of x-spreadsheet to start in read-only mode with the toolbar hidden
Prompt 5
Show me how to import an xlsx file into x-spreadsheet using the SheetJS bridge from the README

Frequently asked questions

What is x-spreadsheet?

Web-based JavaScript spreadsheet that renders an Excel-like grid in a div, with formatting, formulas, merges, freeze cells, multiple sheets, and xlsx import via SheetJS.

What language is x-spreadsheet written in?

Mainly JavaScript. The stack also includes JavaScript, HTML, CSS.

What license does x-spreadsheet use?

MIT lets you use, modify, and ship this in commercial products as long as you keep the copyright notice.

How hard is x-spreadsheet to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is x-spreadsheet for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.