summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-11-13 19:27:32 -0500
committerJesse Luehrs <doy@tozt.net>2013-11-13 19:27:32 -0500
commit62f2637261cec449b40f4733d47dc0b42a3fa4f1 (patch)
tree0290e062ab4e5ea8a280549143a9bdf901d46e08 /lib
parent2a42e7cb0121f75cf122acb58ef4e6b047001084 (diff)
downloadspreadsheet-parsexlsx-62f2637261cec449b40f4733d47dc0b42a3fa4f1.tar.gz
spreadsheet-parsexlsx-62f2637261cec449b40f4733d47dc0b42a3fa4f1.zip
make get_filename work (masonik)
Diffstat (limited to 'lib')
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm9
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');