I've used Spreadsheet::ParseExcel, and really like it. However, I tend to stick to the plain vanilla features, so I don't know if it's suitable for what you want. If you're just wanting to read a bunch of data out of spreadsheets, it's probably the right choice.
...roboticus