summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm8
-rw-r--r--t/data/tab-color.xlsxbin0 -> 27087 bytes
-rw-r--r--t/tab-color.t15
3 files changed, 23 insertions, 0 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm
index 72c8793..2aecac3 100644
--- a/lib/Spreadsheet/ParseXLSX.pm
+++ b/lib/Spreadsheet/ParseXLSX.pm
@@ -226,6 +226,14 @@ sub _parse_sheet {
$twig->purge;
},
+ 'sheetPr/tabColor' => sub {
+ my ( $twig, $tab_color ) = @_;
+
+ $sheet->{TabColor} = $self->_color($sheet->{_Book}{Color}, $tab_color);
+
+ $twig->purge;
+ },
+
}
);
diff --git a/t/data/tab-color.xlsx b/t/data/tab-color.xlsx
new file mode 100644
index 0000000..7061e84
--- /dev/null
+++ b/t/data/tab-color.xlsx
Binary files differ
diff --git a/t/tab-color.t b/t/tab-color.t
new file mode 100644
index 0000000..ef1ab49
--- /dev/null
+++ b/t/tab-color.t
@@ -0,0 +1,15 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use Spreadsheet::ParseXLSX;
+
+my $wb = Spreadsheet::ParseXLSX->new->parse('t/data/tab-color.xlsx');
+my $ws1 = $wb->worksheet(0);
+is($ws1->get_tab_color, '#FF0000');
+
+my $ws2 = $wb->worksheet(1);
+is($ws2->get_tab_color, undef);
+
+done_testing;