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 )