Using Win32::OLE module is one of the better ways of doing excel automation on windows machine. But if the requirement is that you have to have more than one instance running and creating excel files , using SpreadSheet module available on CPAN the best bet.
Yes, this is true, but the OP is specifically concerned with modifying attributes of an existing Excel file, which Spreadsheet::WriteExcel can't do. You can, of course, combine Spreadsheet::ParseExcel with Spreadsheet::WriteExcel, but this a) is difficult and b) won't work if your original Excel file contains contains elements Spreadsheet::WriteExcel doesn't support.