From 2ed49b3b2de0c8fd2809435ef85dc8dd0b2708a1 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 31 Jul 2013 15:57:01 -0400 Subject: be a bit more specific when picking out xml nodes (fixes #5) --- lib/Spreadsheet/ParseXLSX.pm | 4 ++-- t/bug-5.t | 11 +++++++++++ t/data/bug-5.xlsx | Bin 0 -> 13815 bytes 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 t/bug-5.t create mode 100644 t/data/bug-5.xlsx 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 Binary files /dev/null and b/t/data/bug-5.xlsx differ -- cgit v1.2.3-54-g00ecf