diff options
author | FL <f20@reckon.co.uk> | 2014-07-05 15:37:18 +0000 |
---|---|---|
committer | FL <f20@reckon.co.uk> | 2014-07-05 15:37:18 +0000 |
commit | 5bfde2e914636f99e5994c843dd158f6804e5db5 (patch) | |
tree | f90920d5e41da343f5b0cac2f950a3dcda54de99 /lib | |
parent | 31add70244e61a269db8c69bbd2d2042c5d7d4f5 (diff) | |
download | spreadsheet-parsexlsx-5bfde2e914636f99e5994c843dd158f6804e5db5.tar.gz spreadsheet-parsexlsx-5bfde2e914636f99e5994c843dd158f6804e5db5.zip |
Add support for optional $formatter argument in parse method.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Spreadsheet/ParseXLSX.pm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm index d20d734..b7346e7 100644 --- a/lib/Spreadsheet/ParseXLSX.pm +++ b/lib/Spreadsheet/ParseXLSX.pm @@ -33,17 +33,18 @@ sub new { bless {}, shift; } -=method parse($file) +=method parse($file, $formatter) Parses an XLSX file. Parsing errors throw an exception. C<$file> can be either a filename or an open filehandle. Returns a L<Spreadsheet::ParseExcel::Workbook> instance containing the parsed data. +The C<$formatter> argument is an optional formatter class as described in L<Spreadsheet::ParseExcel>. =cut sub parse { my $self = shift; - my ($file) = @_; + my ($file, $formatter) = @_; my $zip = Archive::Zip->new; my $workbook = Spreadsheet::ParseExcel::Workbook->new; @@ -62,12 +63,12 @@ sub parse { die "Argument to 'new' must be a filename or open filehandle"; } - return $self->_parse_workbook($zip, $workbook); + return $self->_parse_workbook($zip, $workbook, $formatter); } sub _parse_workbook { my $self = shift; - my ($zip, $workbook) = @_; + my ($zip, $workbook, $formatter) = @_; my $files = $self->_extract_files($zip); @@ -81,7 +82,7 @@ sub _parse_workbook { $workbook->{Flag1904} = $properties->att('date1904') ? 1 : 0; - $workbook->{FmtClass} = Spreadsheet::ParseExcel::FmtDefault->new; # XXX + $workbook->{FmtClass} = $formatter || Spreadsheet::ParseExcel::FmtDefault->new; my $themes = $self->_parse_themes((values %{ $files->{themes} })[0]); # XXX |