--- sql2xls.cgi 2008/03/24 16:35:29 3 +++ sql2xls.cgi 2008/03/24 23:02:15 4 @@ -65,14 +65,19 @@ my $sql = ""; while() { chomp; - if (/^--(.+)/) { + if (/^\\c\s+(\S+)/) { + warn "## connect to $1\n" if $debug; + $dbh = DBI->connect('DBI:Pg:dbname=' . $1,$user,$passwd) || die $DBI::errstr; + } elsif (/^--(.+)/) { $comment.=$1; } else { - $sql.=$_; + $sql.= ' ' . $_; } } close(SQL); + $sql =~ s/\s\s+/ /gs; + print STDERR "sql: $sql\ncomment: $comment\n" if ($debug); my $row = 0; @@ -105,6 +110,8 @@ my $data = $row[$col]; if ( $types[$col] =~ m/^date/i ) { $data .= 'T' if $data =~ m/^\d\d\d\d-\d\d-\d\d$/; + $data =~ s/^(\d\d\d\d-\d\d-\d\d)\s(\d\d:\S+)$/$1T$2/; + warn "## $data\n"; $worksheet->write_date_time( $row, $col, $data, $date_format ); } else { $worksheet->write($row, $col, _c( $data ) );