If you really really have to do this on Solaris, you could probably use
Spreadsheet::ParseExcel to parse the spreadsheet and then use
Spreadsheet::WriteExcel to write it back out again.
I agree with the other posters that you're probably going to be better off doing this on a windows machine.