I was just given a job which required me to extract data from two separate Excel files, perform some calculations, and save back to a new file. I am not too familiar with Excel and I haven't used this module before, but thanks to the clear documentation I was able to complete the job quickly and accurately. Excellent!
You've got to hand it to John McNamara. When he takes over the maintenance of a module, he goes all the way and doesn't hold back. I remember the very rudimentary documentation this module used to have under the old author. The documentation is MUCH BETTER now! The author of Spreadsheet::XLSX should take notes from John.
I have been using this module since it first appeared, on a variety of platforms - Solaris, Winodws, OS X, Ubuntu, Debian. The job is usually a simple extraction of the contents of an XLS document, so perhaps I have not pushed the module as far as it could go, but it has served faithfully, without any problems at all. Many thanks to the author.
Someone handed me a huge Excel file and said "We need to turn this into a web site".
I had a look at the results via Text::CVS_XS and realised I needed something else. I was aware of Spreadsheet::ParseExcel and so I thought I'd give it a try.
The documentation (as of 0.2603) was tedious to read, filled as it was with Hungarian notation. I see that GÃ¡bor has done a good job cleaning that up. The current 0.33 documentation reads much more easily.
Within an hour or so of exploring I had a program written that was reading the spreadsheet and populating a database with the information I need to produce the web site.
When I run my extraction program it spews out reams of "Character in 'C' format wrapped in pack" warnings. There were many threads in perl5-porters last year, in the run-up to 5.10, discussing the problems with pack 'C' and the abstraction leakage it causes, so I was a little concerned.
But as far as I can tell the extraction is accurate. There are some problems with apostrophes being mangled, but I think that's the perennial Microsoft feature/problem of smart quotes, and something I can live with. And again, for all I know, this may be fixed in 0.33.
All in all, this module saved me a huge amount of time and allowed me to get on with the more interesting aspects of the project. I simply do not know what I would have done if it wasn't available.
My uses are/have been limited. Simple enough for me to use the code in the documentation for my scripts.
It does what it says it will do, and does not do what it says it won't do. Good enough for me!
Many thanks to the author.
Tests on Solaris and WinXP showed no bugs, very reliable
Single crash on usage of merge (closed without error messages)
A very useful module and the representation of a large amount of work by the author.
In relation to some of the other reviews, there are ways to increase the efficiency of the module. See:
I love this module, it's very useful for my project, easy to use. There is still one limitation: the running speed is a bit slow.
This is excellent tool to automate the manipulation of Excel. In essence, it takes the static captive-user-interface world of Microsoft and turns it on it's head! I use it in conjunction with Spreadsheet::WriteExcel to automate the hell out of what I do on the job.
Combined with Spreadsheet::WriteExcel, this module allows automated interaction with Excel files. It primarily provides access to the data in the files, not the formatting, but the latter is of limited use anyway.
The interface to the data is pretty obvious. The "Fmt" files use to filter the data coming out of the document are far from simple or obvious. I found it necessary to write my own for handling Excel documents that are near-ASCII.
A major limitation is that the entire Excel document is parsed at instantiation. This means that opening a document has large latency, while subsequent reading through the data is quick. A rewrite to allow quick, random access into the Excel doc would be very valuable, although likely difficult...
1 hidden unhelpful review