NAME
Spreadsheet::GenerateXLSX - function to generate XLSX spreadsheet from array ref(s)
SYNOPSIS
use Spreadsheet::GenerateXLSX qw/ generate_xlsx /;
my @data = (
['Heading 1', 'Heading 2', 'Heading 2'],
['blah', 'blah', 'blah'],
['blah', 'blah', 'blah'],
);
generate_xlsx('example.xlsx', \@data);
DESCRIPTION
This module provides a function generate_xlsx
which takes an array of Perl data and generates a simple Excel spreadsheet in the XLSX format. The generated sheets have the first row frozen, and auto filters enabled for every column.
Each sheet in the spreadsheet is generated from an array of rows, where each row is an arrayref. The first row is treated as a header row. Here's an example:
my @sheet1 = (
['Pokemon', 'Type', 'Number'],
['Pikachu', 'Electric', 25],
['Vulpix', 'Fire', 37],
['Ditto', 'Normal', 132],
);
The generated spreadsheet can have any numbers of sheets:
generate_xslx('pokemon.xlsx', \@sheet1, \@sheet2);
If you just pass arrayrefs, the sheets will be named Sheet1, Sheet2, etc. You can also pass the name of the sheet:
generate_xslx('pokemon.xlsx', 'All Pokemon' => \@sheet1, 'Hit List' => \@sheet2);
TODO
* smarter auto-formatting of columns
* more tests
* better error handler
* SEE ALSO
REPOSITORY
https://github.com/neilbowers/Spreadsheet-GenerateXLSX
AUTHOR
Neil Bowers <neilb@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Neil Bowers <neilb@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.