Also, if you are generating Excel documents on windows, and you have Excel installed, you can use Win32::OLE to create actual Excel documents. This has the advantage of letting you work with native documents, apply formatting, generate graphs/charts, etc. Basically anything you could do actually working in Excel.