login
Holden Web
What you'll need to know tomorrow

Extract data in JSON from any spreadsheet

EDJAS reads the data locked up in your spreadsheets and hands it to everything else — as JSON, or as a readable report. You describe what you want in a small text file beside the workbook.

Your spreadsheet is never modified. It is only ever read.

pip install edjas

Thirty seconds: a workbook, a specification, and the JSON it produces. Nothing on screen is a mock-up — the grid, the specification and the JSON are all read from the real files.

How it works, in three panels

  1. 1. Your workbook, untouched

    A real ONS statistical release. Nothing is added to it — no macros, no marker columns, no restructuring.

    See all seven examples

  2. 2. A specification file

    [extract]
    title     = "'Cover Sheet'!A1"
    contents  = "['Contents'!A2:B5 | records]"
    revisions = "[RevisionTriangles_Table1 | records | round 3]"

    The specification language

  3. 3. JSON, or a report

    Run edjas workbook.xlsx spec.toml for JSON, or render it straight into a styled HTML document.

    See the report this produces

Why it works this way

Many organisations run significant parts of their business in spreadsheets. Rather than try to change that — and plenty of people have tried — EDJAS helps you get the data out, in a way that leaves the existing workflow completely alone.

Nothing is added to the workbook: no macros, no marker columns, no restructuring. The description of what to extract lives in its own small TOML file, which means one specification can serve many workbooks, and one workbook can have many specifications, each tailored to a different audience.

That last point is the useful one in practice. A large spreadsheet usually contains far more than any single reader wants; a specification names just the part that matters to them. And because JSON is so widely understood, whatever you extract can feed dashboards, databases, APIs, site builders or documents without further translation.

Where next