####
sub __load_styles {
my ($zip) = @_;
my $member_styles = $zip->memberNamed('xl/styles.xml');
my @styles = ();
my %style_info = ();
if ($member_styles) {
my $formatter = Spreadsheet::XLSX::Fmt2007->new();
foreach my $t ($member_styles->contents =~ /xf\ numFmtId="([^"]*)"(?!.*\/cellStyleXfs)/gsm) { #"
push @styles, $t;
}
my $default = $1 || '';
foreach my $t1 (@styles) {
$member_styles->contents =~ /numFmtId="$t1" formatCode="([^"]*)/;
my $formatCode = $1 || '';
if ($formatCode eq $default || not($formatCode)) {
if ($t1 == 9 || $t1 == 10) {
$formatCode = '0.00000%';
} elsif ($t1 == 14) {
$formatCode = 'yyyy-mm-dd';
} else {
$formatCode = '';
}
}
$formatCode = $formatter->FmtStringDef($t1);
$style_info{$t1} = $formatCode;
$default = $1 || '';
}
}
return (\@styles, \%style_info);
}
##
##
0xA5 => '#,##0.00',
0xA6 => '"$"* #,##0.00',