>>That's an imaginative but (to me) nasty-sounding hack. My guess is it would fail if the XLSX was password-protected, even if it might otherwise work. I understand XLSX is a collection of XML files in a ZIP container (but not compressed?). Even if it's not compressed, if the ZIP container has a checksum then directly modifying its contents without updating the checksum might cause issues.
Yes, xlsx is zipped unlike xls, so while you could unzip/zip xslx (which I recall your xslx class does automatically) we didn't try that.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1