summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2015-03-15 01:52:27 -0400
committerJesse Luehrs <doy@tozt.net>2015-03-15 02:07:07 -0400
commit1b0a5bb33762b1a366360fe496daa211f9ca956a (patch)
tree98d6d391bd3442589257e1ee1b44335a14de5884
parent0318aee523bf86bedc323234fc041b566625b372 (diff)
downloadspreadsheet-parsexlsx-1b0a5bb33762b1a366360fe496daa211f9ca956a.tar.gz
spreadsheet-parsexlsx-1b0a5bb33762b1a366360fe496daa211f9ca956a.zip
use the proper Spreadsheet::ParseExcel api here
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm17
-rw-r--r--t/page-Setup.t22
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);