whatisgithub

What is ironsheet?

btahir/ironsheet — explained in plain English

Analysis updated 2026-05-18

19TypeScriptAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

A TypeScript tool for safely editing real Excel XLSX and XLSM files, changing only what you target without breaking formulas, styles, charts, or macros.

Mindmap

mindmap
  root((Ironsheet))
    What it does
      Edits real XLSX XLSM files
      Preserves formulas and styles
      Validates before writing
      Returns a change report
    Tech stack
      TypeScript
      Node.js
      Browser Blob and File APIs
    Packages
      core engine
      node adapter
      browser adapter
      cli tool
    Use cases
      Finance report templates
      Customer facing spreadsheets
      Automated dashboards
    Audience
      Developers
      Automation builders

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

Automatically fill values into an Excel report template without breaking its charts or formulas.

USE CASE 2

Update specific cells or table rows in a customer-facing spreadsheet from a server script.

USE CASE 3

Build a CI check that validates whether a generated workbook is structurally sound before shipping it.

USE CASE 4

Edit values inside a macro-enabled XLSM workbook while keeping the macros intact.

What is it built with?

TypeScriptNode.js

How does it compare?

btahir/ironsheet7y-9/agentsmd-checkavacocloud/avaco-deno
Stars191919
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

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

How do you get it running?

Difficulty · easy Time to first run · 30min

Install the runtime-specific adapter package (node, browser, or cli) matching where the workbook editing code will run.

Use freely for any purpose, including commercial use, as long as you keep the copyright and license notice.

So what is it?

Ironsheet is a TypeScript tool for making changes to real Excel files, the kind saved as XLSX or XLSM, without breaking anything inside them. Most JavaScript libraries that work with spreadsheets are built to create new workbook-shaped files from scratch. Ironsheet takes a different approach: it opens an existing Excel workbook and edits only the specific parts you ask it to change, such as a single cell, a named range, a table's rows, or an embedded image, while leaving everything else, including charts, pivot tables, styles, comments, and even macros in XLSM files, exactly as it was. Before writing anything, Ironsheet checks that every target you asked to update actually exists in the workbook. If a named range, table, or cell is missing, it stops and reports an error rather than silently producing a broken file. When it does write, it can also produce a report showing exactly what changed, which is useful for automated systems that need to confirm an edit worked as expected. If you change a formula or a value that other formulas depend on, Ironsheet marks the workbook so Excel knows to recalculate those values the next time it opens. The project is organized into several packages: a core engine with no external dependencies that can run anywhere, a Node.js package for reading and writing files on a server, a browser package for handling files directly in a web page, a command-line tool for inspecting and editing workbooks from a terminal, and a compatibility package for tracking which Excel features have been tested. This is aimed at situations where a spreadsheet is treated as a real product rather than a one-time export of data, such as finance models, board reports, customer-facing templates, or dashboards built in Excel. It could suit developers building tools that automatically fill in Excel templates, or automation scripts that need to update specific values in existing company spreadsheets without wiping out formatting or formulas. The project is still an early, active MVP, and it is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Show me how to use @ironsheet/node to fill in a named range and a table in an existing Excel template without corrupting it.
Prompt 2
Write a Node.js script using Ironsheet that patches a single cell and an image in an XLSX file and checks if the write succeeded.
Prompt 3
Explain how Ironsheet's safe-write validation works and how to read the diff report it returns.
Prompt 4
Help me set up the Ironsheet CLI to inspect and validate a workbook before editing it in code.

Frequently asked questions

What is ironsheet?

A TypeScript tool for safely editing real Excel XLSX and XLSM files, changing only what you target without breaking formulas, styles, charts, or macros.

What language is ironsheet written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js.

What license does ironsheet use?

Use freely for any purpose, including commercial use, as long as you keep the copyright and license notice.

How hard is ironsheet to set up?

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

Who is ironsheet for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.