You might try Spreadsheet::WriteExcelXML which has the same API but fewer features than Spreadsheet::WriteExcel. The author recommends this module for exceeding the row limits imposed by .xls, perhaps you can exceed the character-cell limit also.
Alternatively, if you have Excel 2007 you can use Win32::OLE and invoke Microsoft's API to make xlsx files.
Comment on Re^3: Writing to Spreadsheets in PERL...