summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-07-31 15:57:01 -0400
committerJesse Luehrs <doy@tozt.net>2013-07-31 15:57:01 -0400
commit2ed49b3b2de0c8fd2809435ef85dc8dd0b2708a1 (patch)
tree69616dd74d3d88c318b84c94a068436991458ede
parentf0ffc1ee72e17892160095805448d9030cbcbe0d (diff)
downloadspreadsheet-parsexlsx-2ed49b3b2de0c8fd2809435ef85dc8dd0b2708a1.tar.gz
spreadsheet-parsexlsx-2ed49b3b2de0c8fd2809435ef85dc8dd0b2708a1.zip
be a bit more specific when picking out xml nodes (fixes #5)
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm4
-rw-r--r--t/bug-5.t11
-rw-r--r--t/data/bug-5.xlsxbin0 -> 13815 bytes
3 files changed, 13 insertions, 2 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm
index fa26e42..8159fa8 100644
--- a/lib/Spreadsheet/ParseXLSX.pm
+++ b/lib/Spreadsheet/ParseXLSX.pm
@@ -392,7 +392,7 @@ sub _parse_styles {
49 => '@',
(map {
$_->att('numFmtId') => $_->att('formatCode')
- } $styles->find_nodes('//numFmt')),
+ } $styles->find_nodes('//numFmts/numFmt')),
);
my @font = map {
@@ -419,7 +419,7 @@ sub _parse_styles {
# Underline => $bUnderline,
# Strikeout => $bStrikeout,
)
- } $styles->find_nodes('//font');
+ } $styles->find_nodes('//fonts/font');
my @format = map {
my $alignment = $_->first_child('alignment');
diff --git a/t/bug-5.t b/t/bug-5.t
new file mode 100644
index 0000000..495582a
--- /dev/null
+++ b/t/bug-5.t
@@ -0,0 +1,11 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use Spreadsheet::ParseXLSX;
+
+my $wb = Spreadsheet::ParseXLSX->new->parse('t/data/bug-5.xlsx');
+is($wb->worksheet_count, 1);
+
+done_testing;
diff --git a/t/data/bug-5.xlsx b/t/data/bug-5.xlsx
new file mode 100644
index 0000000..b5ca8c2
--- /dev/null
+++ b/t/data/bug-5.xlsx
Binary files differ