diff options
-rw-r--r-- | lib/Spreadsheet/ParseXLSX.pm | 8 | ||||
-rw-r--r-- | t/data/tab-color.xlsx | bin | 0 -> 27087 bytes | |||
-rw-r--r-- | t/tab-color.t | 15 |
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 Binary files differnew file mode 100644 index 0000000..7061e84 --- /dev/null +++ b/t/data/tab-color.xlsx 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; |