diff options
author | Jesse Luehrs <doy@tozt.net> | 2015-03-15 01:52:27 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2015-03-15 02:07:07 -0400 |
commit | 1b0a5bb33762b1a366360fe496daa211f9ca956a (patch) | |
tree | 98d6d391bd3442589257e1ee1b44335a14de5884 | |
parent | 0318aee523bf86bedc323234fc041b566625b372 (diff) | |
download | spreadsheet-parsexlsx-1b0a5bb33762b1a366360fe496daa211f9ca956a.tar.gz spreadsheet-parsexlsx-1b0a5bb33762b1a366360fe496daa211f9ca956a.zip |
use the proper Spreadsheet::ParseExcel api here
-rw-r--r-- | lib/Spreadsheet/ParseXLSX.pm | 17 | ||||
-rw-r--r-- | t/page-Setup.t | 22 |
2 files changed, 22 insertions, 17 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm index 97bff38..e4d8890 100644 --- a/lib/Spreadsheet/ParseXLSX.pm +++ b/lib/Spreadsheet/ParseXLSX.pm @@ -171,9 +171,9 @@ sub _parse_sheet { my ($helem, $felem) = map { $hf->first_child($_) } qw(oddHeader oddFooter); - $sheet->{header} = $helem->text + $sheet->{Header} = $helem->text if $helem; - $sheet->{footer} = $felem->text + $sheet->{Footer} = $felem->text if $felem; $twig->purge; @@ -182,7 +182,8 @@ sub _parse_sheet { 'pageMargins' => sub { my ($twig, $margin) = @_; map { - $sheet->{pageMargins}->{$_} = $margin->att($_) // 0 + my $key = "\u${_}Margin"; + $sheet->{$key} = $margin->att($_) // 0 } qw(left right top bottom header footer); $twig->purge; @@ -190,9 +191,13 @@ sub _parse_sheet { 'pageSetup' => sub { my ($twig, $setup) = @_; - map { - $sheet->{pageSetup}->{$_} = $setup->att($_) // 0 - } qw(scale orientation horizontalDpi verticalDpi paperSize firstPageNumber scale); + $sheet->{Scale} = $setup->att('scale') // 100; + $sheet->{Landscape} = ($setup->att('orientation') // '') ne 'landscape'; + $sheet->{PaperSize} = $setup->att('paperSize') // 1; + $sheet->{PageStart} = $setup->att('firstPageNumber'); + $sheet->{UsePage} = $setup->att('useFirstPageNumber'); + $sheet->{HorizontalDPI} = $setup->att('horizontalDpi'); + $sheet->{VerticalDPI} = $setup->att('verticalDpi'); $twig->purge; }, diff --git a/t/page-Setup.t b/t/page-Setup.t index 71cca22..b29f8b7 100644 --- a/t/page-Setup.t +++ b/t/page-Setup.t @@ -10,21 +10,21 @@ my $wb = Spreadsheet::ParseXLSX->new->parse('t/data/page-Setup.xlsx'); my $ws1 = $wb->worksheet(0); # Header/Footer Text -is($ws1->{header}, '&CHeader'); -is($ws1->{footer}, '&CFooter'); +is($ws1->get_header, '&CHeader'); +is($ws1->get_footer, '&CFooter'); # Margins -is($ws1->{pageMargins}{header}, '0.3'); -is($ws1->{pageMargins}{footer}, '0.4'); -is($ws1->{pageMargins}{left}, '0.5'); -is($ws1->{pageMargins}{right}, '0.6'); -is($ws1->{pageMargins}{top}, '0.7'); -is($ws1->{pageMargins}{bottom}, '0.8'); +is($ws1->get_margin_header, '0.3'); +is($ws1->get_margin_footer, '0.4'); +is($ws1->get_margin_left, '0.5'); +is($ws1->get_margin_right, '0.6'); +is($ws1->get_margin_top, '0.7'); +is($ws1->get_margin_bottom, '0.8'); # Page Setup -is($ws1->{pageSetup}{scale}, '75'); -is($ws1->{pageSetup}{orientation}, 'landscape'); -is($ws1->{pageSetup}{paperSize}, '4'); # Code for 11*17 +is($ws1->get_print_scale, '75'); +ok(!$ws1->is_portrait); +is($ws1->get_paper, '4'); # Code for 11*17 # Cell Border Formatting is($ws1->get_cell(0,0)->get_format()->{'BdrDiag'}[0], 1); |