Hi Raj. This is possibly Off-Topic, but here goes!
I was successfully able to serve up dynamic Excel files
via the Apache Web Server to a web browser
about a year ago. I went digging up through my file system
and found this snippet. This is meant for a *NIX box, by
the way - this might cause a problem when trying to write
the temporary file on Win32 boxes.
use strict;
use CGI qw(header);
use POSIX;
use Spreadsheet::WriteExcel;
my $tmp_file = tmpnam();
{
my $workbook = Spreadsheet::WriteExcel->new($tmp_file) or die;
my $worksheet = $workbook->addworksheet() or die;
my $format = $workbook->addformat() or die;
$format->set_bold();
$format->set_color('red');
$format->set_align('center');
$worksheet->write(0, 0, "Hi Excel!");
$worksheet->write(1, 0, 1.2345);
$worksheet->write(2, 0, "Hi Excel!", $format);
}
open(FH,$tmp_file) or die;
print header(-type=>'application/vnd.ms-excel');
print while <FH>;
unlink $tmp_file;
If the user's Win32 box has Excel installed,
Internet Explorer will use OLE to display the
spreadsheet right in the browser. A catch is that the .cgi
extension will confuse non-savvy users who don't know to
save the file with a .xls extension instead. But ...
A really nice feature of the Apache web server is being
able to specify your own extensions for CGI scripts. By
adding this line to your <Directory> directive:
AddHandler cgi-script .xls
Now the Excel file can be saved 'as-is' without having to
worry about getting the extension right.
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
|