I do a lot of work with spreadsheets. Some are pretty simple, and I can inspect them by hand. Some are enormously complicated – hundreds of rows, dozens of columns, etc. It’s not practical to inspect/test them manually.
Enter ExceLint. It’s an add-in to Microsoft Excel that “lints” a spreadsheet. (A “linter” is a program that picks off ‘bits of fluff’.) The ExceLint team reports they regularly find errors, some material, in spreadsheets they test. (I was pretty lucky – there were a couple minor errors, but I was OK.)
ExceLint requires you to “side-load” a manifest.xml
file that points to the resource files the add-in uses. The ExceLint home page describes the side-load process. It stopped working a while ago, so I just started to hope my good spreadsheet-fu continued. But then I decided to do a bit of troubleshooting, and found that ExceLint retrieved its code from a defunct server running on azure.com. I fixed it a couple ways:
- I created a Dockerfile that built the resources for the add-in on the local computer. Side-loading a manifest file that points to localhost allowed the add-in to work again.
- I realized that the resources – the files loaded by Excel – could be served by a static https server anywhere . So I created a new GitHub Action to build those files with each commit, and then to use Github Pages to serve those files.
You can now use ExceLint again, using publicly served resources from Github. You can even test at https://excelint.github.io/ExceLint-addin. The result isn’t terribly interesting – it displays the ExceLint logo, with a spinner that runs forever.