App-AltSQL
view release on metacpan or search on metacpan
lib/App/AltSQL/Plugin/Dump/Format/xls.pm view on Meta::CPAN
package App::AltSQL::Plugin::Dump::Format::xls;
use Moose::Role;
use Spreadsheet::WriteExcel::Big;
sub format {
my ($self, %params) = @_;
my $filename = $params{filename};
my $table_data = $params{table_data};
my $workbook = Spreadsheet::WriteExcel::Big->new($filename);
my $worksheet = $workbook->add_worksheet();
my $header_format = $workbook->add_format;
$header_format->set_bold;
my $col_pos = 0;
my $row_pos = 0;
# write header
for my $column ( @{ $table_data->{columns} } ) {
$worksheet->write(0, $col_pos++, $column->{name}, $header_format);
}
# move down 2 lines, let it breath some
$row_pos += 2;
for my $row ( @{ $table_data->{rows} } ) {
$col_pos = 0; # reset col_pos.
$worksheet->write($row_pos, $col_pos++, $_) for @$row;
$row_pos++;
}
$workbook->close();
return;
}
1;
( run in 0.813 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )