Struggling to use Mmap with ZipArchives

So this works after a fashon, but with two caveats:

The XLSX docs indicate that the user should use openxlsx with do-syntax to support reading larger-than-memory files. However, putting the GC.gc call into the do-block doesn’t work - it has to be outside the function. This pushes the GC.gc() call into the user’s code, which seems pretty undesirable. (edit: I guess I could wrap it in another function)

My second caveat is more a reflection on the ironies of life in general.

When I first started using XLSX.jl it was generally considered slow, and the reason for this was identified as a GC.gc call on every read and every write. See here, for instance.

Variously, it was suggested that a solution to this may be found by first, replacing ZipFiles.jl with ZipArchives.jl as a dependency of XLSX.jl, and then by replacing EzXML.jl with XML.jl. I made these switches, which was a bit of a magical mystery tour for me and took me quite some time. Now I’m finished I find I’m back where I started from, depending on GC.gc() to make the code run!

At least I gained a powerful learning experience!