diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-11-13 19:27:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-11-13 19:27:32 -0500 |
commit | 62f2637261cec449b40f4733d47dc0b42a3fa4f1 (patch) | |
tree | 0290e062ab4e5ea8a280549143a9bdf901d46e08 /lib | |
parent | 2a42e7cb0121f75cf122acb58ef4e6b047001084 (diff) | |
download | spreadsheet-parsexlsx-62f2637261cec449b40f4733d47dc0b42a3fa4f1.tar.gz spreadsheet-parsexlsx-62f2637261cec449b40f4733d47dc0b42a3fa4f1.zip |
make get_filename work (masonik)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Spreadsheet/ParseXLSX.pm | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm index da53bc3..381b16c 100644 --- a/lib/Spreadsheet/ParseXLSX.pm +++ b/lib/Spreadsheet/ParseXLSX.pm @@ -46,30 +46,31 @@ sub parse { my ($file) = @_; my $zip = Archive::Zip->new; + my $workbook = Spreadsheet::ParseExcel::Workbook->new; if (openhandle($file)) { bless $file, 'IO::File' if ref($file) eq 'GLOB'; # sigh $zip->readFromFileHandle($file) == Archive::Zip::AZ_OK or die "Can't open filehandle as a zip file"; + $workbook->{File} = undef; } elsif (!ref($file)) { $zip->read($file) == Archive::Zip::AZ_OK or die "Can't open file '$file' as a zip file"; + $workbook->{File} = $file; } else { die "Argument to 'new' must be a filename or open filehandle"; } - return $self->_parse_workbook($zip); + return $self->_parse_workbook($zip, $workbook); } sub _parse_workbook { my $self = shift; - my ($zip) = @_; + my ($zip, $workbook) = @_; my $files = $self->_extract_files($zip); - my $workbook = Spreadsheet::ParseExcel::Workbook->new; - my ($version) = $files->{workbook}->find_nodes('//fileVersion'); my ($properties) = $files->{workbook}->find_nodes('//workbookPr'); |