Business-ReportWriter
view release on metacpan or search on metacpan
lib/Business/ReportWriter/OOCalc.pm view on Meta::CPAN
package Business::ReportWriter::OOCalc;
use strict;
use POSIX qw(setlocale LC_NUMERIC);
use utf8;
use OpenOffice::OOCBuilder;
use base 'Business::ReportWriter';
sub begin_line {
my ( $self, $rec ) = @_;
$self->{rownr}++;
$self->{fieldnr} = 0;
}
sub out_field {
my ( $self, $text, $field ) = @_;
$self->{fieldnr}++;
$self->out_text($text);
}
sub begin_list {
my ($self) = @_;
my $sheet = OpenOffice::OOCBuilder->new();
$self->{sheet} = $sheet;
}
sub print_doc {
my ( $self, $filename ) = @_;
my $sheet = $self->{sheet};
if ($filename) {
$sheet->generate($filename);
}
}
sub out_text {
my ( $self, $text ) = @_;
my $sheet = $self->{sheet};
$sheet->goto_xy( $self->{fieldnr}, $self->{rownr} );
utf8::decode($text);
$sheet->set_data($text);
print "$self->{rownr} $self->{fieldnr}: $text\n";
}
1;
__END__
=head1 NAME
Business::ReportWriter::OOCalc - A Business Oriented ReportWriter.
=head1 SYNOPSIS
use Business::ReportWriter::OOCalc;
my $rw = new Business::ReportWriter::OOCalc();
$rw->process_report($outfile, $report, $head, $list);
=head1 DESCRIPTION
( run in 1.463 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )