NAME
Data::Tabular - Handy Table Manipulation and rendering Object
SYNOPSIS
use Data::Tabular;
$table = Data::Tabular->new(
headers => ['one', 'two'],
data => [
['a', 'b'],
['c', 'd']
],
extra_headers => [ 'three' ],
extra => {
'three' => sub {
my $self = shift;
my $a = $self->get('one');
my $b = $self->get('two');
$a . $b;
},
},
group_by => {
},
output => {
headers => [ 'three', 'one', 'two' ],
},
);
DESCRIPTION
Data::Tabular has four major sections:
The data section. This is the base table, it contains a set of rows that
is made up of named columns.
The extra section. This is a set of named columns that are added to the
table.
The group_by section. This is allows titles, and subtotals to be
inserted into table.
The output section. This allows the output to be formatted and rendered
for a particular type of output. Currently HTML and Excel spreadsheets
are supported.
Of these only the data section is required.
Data Section
The Data section consists of two pieces of information a list of headers
names and a 2 dimensional array of data.
API
Constructor
new The new method
Output Control Methods
output
Get the output object.
Accessor Methods
data_table
The data method returns a Data::Table object.
extra_table
The extra method returns a Data::Table::Extra object.
grouped_table
The grouped method returns a Data::Table::Grouped object.
grouped
The grouped method returns a Data::Table::Grouped object.
headers
The headers method returns the available headers in the
Data::Table::Extra object. This is the headers from both the data
section and the extra section. These are the headers that can be in
the output section.
Configure Methods
Display Methods
html
returns html representation of the table.
xls returns xls representation of the table.
txt returns text representation of the table.
csv returns a comma separated representation of the table.
EXAMPLES
my $st = $dbh->prepare('Select * from my_test_table');
my $data = selectall_arrayref($st);
my $headers = $st->{NAMES}
my $table = Data::Tabular->new(
data => $data,
headers => $headers,
);
AUTHOR
"G. Allen Morris III" <gam3@gam3.net>
COPYRIGHT
Copyright (C) 2003-2008, G. Allen Morris III, all rights reserved
LICENSE
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
Data::Tabular::Table