Files
jadudcom-2025/jadudcom/content/blog/2025/09/2025-09-16-wbc.md
2025-09-18 07:16:19 -04:00

1.5 KiB

layout, title, author, draft, tags, date
layout title author draft tags date
post wbc: generating xlsx jadudm true
cc-sa
wbc
blog
2025
2025-09
2025-09-16

Generating Excel workbooks in code is hard. By this, I mean that writing code that outputs an XLSX document involves a lot of details (contents, formatting, data validations), and you have to learn a lot about XLSX in order to do it right.

But Matt: who would ever want to generate Excel documents from code?

It turns out, most everyone who works with data. Also, every government everywhere. Spreadsheets are the lifeblood of governments around the world. Also, financial institutions. And researchers. And... and...

a workbook "compiler"

For a number of months (years?), I've been thinking about writing a workbook "compiler." In technical terms, a compiler transforms one language or representation of content to another while preserving the intention of the programmer. In this case, I want a way to express a workbook in one language (say, a textual representation like JSON) and I want to transform it to another representation (an XLSX document, or spreadsheet).

For example, I'd like to be able to say write something like this:

{
  "workbook": "my first spreadsheet",
  "sheets": [
    {
      "name": "empty sheet"
    }
  ]
}

and run a program that consumes that textual file, producing as output the XLSX document.