summaryrefslogtreecommitdiff
path: root/httemplate/search/elements/search-xls.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/search/elements/search-xls.html')
-rw-r--r--httemplate/search/elements/search-xls.html85
1 files changed, 0 insertions, 85 deletions
diff --git a/httemplate/search/elements/search-xls.html b/httemplate/search/elements/search-xls.html
deleted file mode 100644
index 8323f55de..000000000
--- a/httemplate/search/elements/search-xls.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<% $data %>
-<%init>
-
-my %args = @_;
-my $type = $args{'type'};
-my $header = $args{'header'};
-my $rows = $args{'rows'};
-my %opt = %{ $args{'opt'} };
-
-#http_header('Content-Type' => 'application/excel' ); #eww
-#http_header('Content-Type' => 'application/msexcel' ); #alas
-#http_header('Content-Type' => 'application/x-msexcel' ); #?
-
-#http://support.microsoft.com/kb/199841
-http_header('Content-Type' => 'application/vnd.ms-excel' );
-http_header('Content-Disposition' =>
- 'attachment;filename="'.($opt{'name'} || PL($opt{'name_singular'}) ).'.xls"');
-
-#http://support.microsoft.com/kb/812935
-#http://support.microsoft.com/kb/323308
-$HTML::Mason::Commands::r->headers_out->{'Cache-control'} = 'max-age=0';
-
-my $data = '';
-my $XLS = new IO::Scalar \$data;
-my $workbook = Spreadsheet::WriteExcel->new($XLS)
- or die "Error opening .xls file: $!";
-
-my $worksheet = $workbook->add_worksheet(substr($opt{'title'},0,31));
-
-$worksheet->protect();
-
-my($r,$c) = (0,0);
-
-my $header_format = $workbook->add_format(
- bold => 1,
- locked => 1,
- bg_color => 55, #22,
- bottom => 3,
-);
-
-$worksheet->write($r, $c++, $_, $header_format ) foreach @$header;
-
-foreach my $row ( @$rows ) {
- $r++;
- $c = 0;
-
- if ( $opt{'fields'} ) {
-
- #my $links = $opt{'links'} ? [ @{$opt{'links'}} ] : '';
- #my $aligns = $opt{'align'} ? [ @{$opt{'align'}} ] : '';
- #could also translate color, size, style into xls equivalents?
- my $formats = $opt{'xls_format'} ? [ @{$opt{'xls_format'}} ] : [];
-
- foreach my $field ( @{$opt{'fields'}} ) {
-
- my $format = shift @$formats;
- $format = &{$format}($row) if ref($format) eq 'CODE';
- $format ||= {};
- my $xls_format = $workbook->add_format(locked=>0, %$format);
-
- if ( ref($field) eq 'CODE' ) {
- foreach my $value ( &{$field}($row) ) {
- if ( ref($value) eq 'ARRAY' ) {
- $worksheet->write($r, $c++, '(N/A)' ); #unimplemented
- } else {
- $worksheet->write($r, $c++, $value, $xls_format );
- }
- }
- } else {
- $worksheet->write($r, $c++, $row->$field(), $xls_format );
- }
- }
-
- } else {
- my $xls_format = $workbook->add_format(locked=>0);
- $worksheet->write($r, $c++, $_, $xls_format ) foreach @$row;
- }
-
-}
-
-$workbook->close();# or die "Error creating .xls file: $!";
-
-http_header('Content-Length' => length($data) );
-
-</%init>