in reply to Slow Excel access via Win32::OLE

OLE transfer is an old dog, and that's giving MS-resident canines a bad name. :) Think about what it's doing... your program and Excel both reside in main memory, along with the workbook you're creating. Your program talks to the OLE DLLs, which talk to Excel. Excel interprets the command, modifying the workbook. On and on we go, almost certainly causing a few virtual memory swaps long the way.

Spreadsheet::WriteExcel (or WriteExcel::Big) can be your good and loyal friend, giving MS dogs a chance at redemption. S::WE has a much simpler feature set, geared only towards writing content to .XLS files. Much more direct, and much less memory footprint.

Don Wilde
"There's more than one level to any answer."