in reply to Exporting Data to and Excel file format

This node will be of interest: Index of Spreadsheet FAQs

What is the context here? As stated above, you can just fake it with text. To do this in cgi, just need to tab-delimit and set the proper content-type header:
print "Content-type: application/vnd.ms-excel\n\n"; print join("\t", @cols) . "\n"; foreach my $row ( @rows ){ print join("\t", @$row) . "\n"; # if rows are array refs print join("\t", @{$row}{@cols} ) . "\n"; # if rows are hash refs }