=cut
-use Spreadsheet::WriteExcel;
+use Excel::Writer::XLSX;
use DBI;
use CGI::Carp qw(fatalsToBrowser);
use Encode qw/decode/;
our $database = 'template1';
our $user = 'dpavlin';
our $passwd = '';
-our $path = 'sql_reports.xls';
+our $path = 'sql_reports.xlsx';
our $db_encoding = 'iso-8859-2';
our $xls_date_format = 'dd.mm.yyyy';
-our $debug = 1;
+our $debug = $ENV{DEBUG} || 0;
my $sql_dir = $ENV{SCRIPT_FILENAME} || '.';
$sql_dir =~ s,/[^/]+$,,;
if ($ENV{GATEWAY_INTERFACE} && $ENV{GATEWAY_INTERFACE} =~ m/CGI/i) {
# use as cgi script
print "Content-type: application/vnd.ms-excel\n\n";
- $workbook = Spreadsheet::WriteExcel->new("-");
+ $workbook = Excel::Writer::XLSX->new("-");
} else {
# Create a new Excel workbook
- $workbook = Spreadsheet::WriteExcel->new( $path );
+ $path =~ s{\.xls$}{\.xlsx};
+ $workbook = Excel::Writer::XLSX->new( $path );
warn "Creating XLS file $path\n";
}
# Add a worksheet
warn "# clipping sheet name '$sheet_name' to 31 char limit\n" if length $sheet_name > 31;
- my $worksheet = $workbook->addworksheet( substr($sheet_name,0,31) );
+ my $worksheet = $workbook->add_worksheet( substr($sheet_name,0,31) );
print STDERR "working on $sql_file\n" if ($debug);
if ($comment) {
# Add and define a format
- my $fmt_comment = $workbook->addformat(); # Add a format
+ my $fmt_comment = $workbook->add_format(); # Add a format
$fmt_comment->set_bold();
$comment =~ s/^\s+//;
$row+=2;
}
- my $fmt_header = $workbook->addformat(); # Add a format
+ my $fmt_header = $workbook->add_format(); # Add a format
$fmt_header->set_italic();
foreach my $sql ( split(/;/, $full_sql ) ) {
}
$row++; # separete queries by one row
+ warn "# row $row\n";
}
}