Excel::Template::TT - wrapper class for Excel::Template to using TT


Excel-Template-TT documentation Contained in the Excel-Template-TT distribution.

Index


Code Index:

NAME

Top

Excel::Template::TT - wrapper class for Excel::Template to using TT

SYNOPSIS

Top

  use Excel::Template::TT;

  # some TT options
  my $config = {
      INTERPOLATE => 1,
      EVAL_PERL   => 1,
  }

  # set variables for replacement
  my $vars = {
      worksheet => [
          { name => $value1 },
          { name => $value2 },
          { name => $value3 },
      ],
  };

  # create object
  my $template = Excel::Template::TT->new(
      filename => 'sample.xml',
      config   => $config,
      vars     => $vars,
  );

  $template->write_file('sample.xls');

DESCRIPTION

Top

This module is wrapper class for Excel::Template to using Template Toolkit.

AUTHOR

Top

Taro Funaki <t@33rpm.jp>

LICENSE

Top

This library is free software; you can redistribute it and/or modify it under the same terms as perl itself.

SEE ALSO

Top

Excel::Template::TT, Template


Excel-Template-TT documentation Contained in the Excel-Template-TT distribution.

package Excel::Template::TT;

use strict;
use warnings;
our $VERSION = '0.0.1';

use File::Temp qw(tempfile);
use Template;

use base qw(Excel::Template);

sub parse_xml {
    my($self, $file) = @_;

    my($fh, $tempfile) = tempfile;

    my $tt = Template->new($self->{CONFIG} || {});
    $tt->process(
        $file,
        $self->{VARS} || {},
        $fh,
    );
    close $fh;

    $self->{tempfile} = $tempfile;

    $self->SUPER::parse_xml($tempfile);
}

sub DESTROY {
    my $self = shift;

    unlink $self->{tempfile};
}

1;
__END__