summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2015-12-04 00:22:39 -0500
committerJesse Luehrs <doy@tozt.net>2015-12-04 00:22:39 -0500
commit54ace637bf4ddfc1469ffcc7cdaf429ca2b88814 (patch)
tree5d242381daf9d8502603f0f8ceda68b45d1d677e /lib
parent87df644e3dfe5c34bfb0b03e020a119e64628c0a (diff)
parent48c05714c254df089e170c014661db9a4bc7d21d (diff)
downloadspreadsheet-parsexlsx-54ace637bf4ddfc1469ffcc7cdaf429ca2b88814.tar.gz
spreadsheet-parsexlsx-54ace637bf4ddfc1469ffcc7cdaf429ca2b88814.zip
Merge pull request #47 from ssims/master
Diffstat (limited to 'lib')
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm
index 52f2858..4f33395 100644
--- a/lib/Spreadsheet/ParseXLSX.pm
+++ b/lib/Spreadsheet/ParseXLSX.pm
@@ -116,6 +116,7 @@ sub _parse_workbook {
_Book => $workbook,
_SheetNo => $idx,
);
+ $sheet->{SheetHidden} = 1 if defined $_->att('state') and $_->att('state') eq 'hidden';
$self->_parse_sheet($sheet, $files->{sheets}{$idx});
($sheet)
} else {
@@ -147,7 +148,9 @@ sub _parse_sheet {
my @column_formats;
my @column_widths;
+ my @columns_hidden;
my @row_heights;
+ my @rows_hidden;
my $default_row_height = 15;
my $default_column_width = 10;
@@ -252,6 +255,7 @@ sub _parse_sheet {
for my $colnum ($col->att('min')..$col->att('max')) {
$column_widths[$colnum - 1] = $col->att('width');
$column_formats[$colnum - 1] = $col->att('style');
+ $columns_hidden[$colnum - 1] = $col->att('hidden');
}
$twig->purge;
@@ -261,6 +265,7 @@ sub _parse_sheet {
my ( $twig, $row ) = @_;
$row_heights[ $row->att('r') - 1 ] = $row->att('ht');
+ $rows_hidden[ $row->att('r') - 1 ] = $row->att('hidden');
$twig->purge;
},
@@ -395,10 +400,12 @@ sub _parse_sheet {
$sheet->{RowHeight} = [
map { defined $_ ? 0+$_ : 0+$default_row_height } @row_heights
];
+ $sheet->{RowHidden} = \@rows_hidden;
$sheet->{ColWidth} = [
map { defined $_ ? 0+$_ : 0+$default_column_width } @column_widths
];
$sheet->{ColFmtNo} = \@column_formats;
+ $sheet->{ColHidden} = \@columns_hidden;
}