NAME
Catalyst::View::XLSX - Catalyst View for Microsoft Excel file
VERSION
version 1.1
SYNOPSIS
# Create MyApp::View::XLSX using the helper:
`script/create.pl view XLSX XLSX`
In your controller
package MyApp::Controller::MyController;
use Moose;
use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller' }
sub download_excel : Local :Args(0) {
my ( $self, $c ) = @_;
my $format = {
font => 'Times New Roman',
size => '15',
color => 'Black',
bold => 1,
italic => 0,
underline => 0,
font_strikeout => 0,
font_script => 0,
font_outline => 0,
font_shadow => 0,
num_format => '0.00'
};
my $xlsx_data = {
data => [
{
row => 0,
col => 0,
data => 10,
format => $format,
value => '10'
},
{
row => 0,
col => 1,
data => 20,
format => $format,
value => '20'
},
{
row => 0,
col => 2,
data => '=SUM(A1:B1)',
format => $format,
value => '30'
}
],
filename => "ExcelFile.xlsx"
};
$c->stash(xlsx => $xlsx_data, current_view => 'XLSX');
}
1;
SUMMARY
This Catalyst::View::XLSX provides a Catalyst view that generates Microsoft Excel (.xlsx) files.
DESCRIPTION
This is a very simple module which uses few methods of Excel::Writer::XLSX and creates an Excel file based on the stashed parameters. It also respond the file that has been readily available.
STASH PARAMETERS
$c->stash->{xlsx} = {
data => [
{ row => 0, col => 0, data => 'Hey! Look at me. I am A1', format => undef, value => undef },
{ row => 0, col => 1, data => 'People call me as B1', format => undef, value => undef }
],
filename => 'ExcelFile.xlsx'
};
#row,col -> represents the position on the Excel sheet
#data -> represents the content of the field
#value -> (OPTIONAL) it will hold the actual value when data has formula
#format -> (OPTIONAL) format of the cell, supports the following properties
#font => 'Times New Roman',
#size => '15',
#color => 'Black',
#bold => 1,
#italic => 0,
#underline => 0,
#font_strikeout => 0,
#font_script => 0,
#font_outline => 0,
#font_shadow => 0,
#num_format => '0.00'
#Please refer L<Excel::Writer::XLSX> for more properties.
or
$c->stash->{xlsx} = {
file => '/opt/git/Files/GeneratedRank.xlsx',
filename => 'Resulst.xlsx'
};
METHODS
process
This will respond the Excel file with Content-Type `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
render
This will generate the Excel file based on the stashed parameters using Excel::Writer::XLSX module.
REPOSITORY
https://github.com/Virendrabaskar/Catalyst-View-XLSX
SEE ALSO
AUTHOR
Baskar Nallathambi <baskarmusiri@gmail.com>
COPYRIGHT AND LICENSE
This is free module.You can do anything to this module under the same terms as the Perl 5 programming language system itself.