in reply to Spreadsheet::XLSX memory and speed
I'm working on a module called Excel::Reader::XLSX that aims to parse XLSX files without the memory overhead of Spreadsheet::XLSX (which is inherited from the design of Spreadsheet::ParseExcel).
It isn't CPAN quality yet but it reads large XLSX files with a small and constant memory usage (it holds only one row of data in memory at a time). It also runs at a comparable speed. *
I haven't settled on the final API yet and it is quite limited in functionality but if you are, or anyone else is, interested have a look on GitHub.
* I'm using XML::LibXML::Reader for parsing but I had to profile and optimise the initial code heavily to get to within 5-10% of the regex parsing in Spreadsheet::XLSX.