Branch Coverage

blib/lib/Excel/Writer/XLSX/Worksheet.pm
Criterion Covered Total %
branch 1473 1752 84.0


line true false branch
227 10 1363 if ($self->{'_optimization'} == 1)
241 8 1365 if ($self->{'_excel2003_style'})
270 10 986 if ($self->{'_optimization'} == 1)
309 1023 10 if ($self->{'_optimization'} == 0) { }
323 8 1025 if ($self->{'_excel2003_style'})
494 6 21 if ($password ne '')
523 60 0 if (exists $defaults{$key}) { }
590 188 12 if ($cell =~ /^\D/)
598 0 200 if @data < 3
599 0 200 unless defined $data[0]
600 0 200 unless defined $data[1]
603 32 168 if $data[1] == 0
606 1 199 if $data[0] > $data[1]
614 18 182 if ref $data[3]
615 6 167 if $data[2] and $data[4]
617 0 200 if $self->_check_dimensions(0, $data[0], $ignore_row, $ignore_col)
619 2 198 if $self->_check_dimensions(0, $data[1], $ignore_row, $ignore_col)
623 197 1 unless defined $data[5]
624 0 198 if $data[5] < 0
625 0 198 if $data[5] > 7
627 1 197 if ($data[5] > $self->{'_outline_col_level'})
643 27 171 unless defined $width
649 18 361 if $format
667 0 36 unless @_
670 33 3 if ($_[0] =~ /^\D/)
676 28 8 if (@_ == 2) { }
8 0 elsif (@_ == 4) { }
690 3 5 if ($row_first > $row_last)
694 3 5 if ($col_first > $col_last)
699 1 7 if ($row_first == $row_last and $col_first == $col_last) { }
714 4 32 if $sqref eq 'A1'
730 0 66 unless @_
733 10 56 if ($_[0] =~ /^\D/)
813 0 2 defined $_[0] ? :
843 19 0 if ($paper_size)
867 0 31 if (length $string >= 255)
872 1 30 if (defined $options->{'align_with_margins'})
876 1 30 if (defined $options->{'scale_with_doc'})
883 21 10 if ($options->{'image_left'})
887 6 25 if ($options->{'image_center'})
891 5 26 if ($options->{'image_right'})
898 0 31 if ($image_count != $placeholder_count)
905 21 10 if ($image_count)
932 0 15 if (length $string >= 255)
937 1 14 if (defined $options->{'align_with_margins'})
941 1 14 if (defined $options->{'scale_with_doc'})
948 4 11 if ($options->{'image_left'})
952 3 12 if ($options->{'image_center'})
956 5 10 if ($options->{'image_right'})
963 0 15 if ($image_count != $placeholder_count)
970 6 9 if ($image_count)
1070 5 0 if (defined $margin) { }
1090 5 0 if (defined $margin) { }
1110 5 0 if (defined $margin) { }
1131 5 0 if (defined $margin) { }
1178 3 0 if ($_[0] =~ /^\D/)
1215 9 0 if ($_[0] =~ /^\D/)
1219 0 9 if @_ != 4
1224 1 8 if ($row1 == 0 and $col1 == 0 and $row2 == $self->{'_xls_rowmax'} - 1 and $col2 == $self->{'_xls_colmax'} - 1)
1250 30 2 if ($_[0] =~ /^\D/)
1254 0 32 if @_ != 4
1259 0 32 if $row2 < $row1
1260 0 32 if $col2 < $col1
1285 0 25 unless $self->{'_autofilter'}
1286 0 25 unless @_ == 2
1291 24 1 if ($col =~ /^\D/)
1297 0 24 if $col >= $self->{'_xls_colmax'}
1303 0 25 if ($col < $col_first or $col > $col_last)
1311 0 25 unless @tokens == 3 or @tokens == 7
1319 6 19 if (@tokens == 2 and $tokens[0] == 2) { }
3 16 elsif (@tokens == 5 and $tokens[0] == 2 and $tokens[2] == 1 and $tokens[3] == 2) { }
1358 0 14 unless $self->{'_autofilter'}
1359 0 14 unless @tokens
1363 5 9 if ($col =~ /^\D/)
1369 0 5 if $col >= $self->{'_xls_colmax'}
1375 0 14 if ($col < $col_first or $col > $col_last)
1405 2 65 unless $expression
1440 10 39 if (@tokens == 7) { }
1444 5 5 if ($conditional =~ /^(and|&&)$/) { }
5 0 elsif ($conditional =~ /^(or|\|\|)$/) { }
1502 4 55 if ($tokens[0] =~ /^top|bottom$/i)
1506 0 4 if ($value =~ /\D/ or $value < 1 or $value > 500)
1516 0 4 if ($token ne 'items' and $token ne '%')
1521 2 2 if ($tokens[0] =~ /^top$/i) { }
1528 2 2 if ($tokens[2] eq '%')
1536 0 0 if (not $operator and $tokens[0])
1543 7 52 if ($token =~ /^blanks|nonblanks$/i)
1546 0 7 if ($operator != 2 and $operator != 5)
1555 4 3 if ($token eq 'blanks') { }
1556 1 3 if ($operator == 5)
1561 1 2 if ($operator == 5) { }
1575 3 56 if ($operator == 2 and $token =~ /[*?]/)
1612 1 39 if ($row_num_1 == 0 and $row_num_2 == $self->{'_xls_rowmax'} - 1) { }
1 38 elsif ($col_num_1 == 0 and $col_num_2 == $self->{'_xls_colmax'} - 1) { }
1628 1 39 if ($range1 eq $range2 and not $row_col_only) { }
1655 9 3 defined $_[0] ? :
1658 5 7 if ($option == 0) { }
4 3 elsif ($option == 1) { }
1684 0 2 defined $_[0] ? :
1686 2 0 if ($headers) { }
1721 5 1 defined $_[0] ? :
1722 4 2 defined $_[1] ? :
1767 0 3 if ($scale < 10 or $scale > 400)
1788 0 3 if ($scale < 10 or $scale > 400)
1826 0 0 if (defined $_[0]) { }
1845 0 2 defined $_[0] ? :
1859 43 0 if defined $_[0]
1873 0 1 defined $_[0] ? :
1887 0 1 defined $_[0] ? :
1900 0 2 defined $_[0] ? :
1902 2 0 if ($page_order) { }
1921 0 3 unless defined $_[0]
1941 0 0 if $row > $self->{'_xls_rowmax'}
1942 0 0 if $col > $self->{'_xls_colmax'}
1959 0 0 unless @_ == 2
1960 0 0 unless ref $_[1] eq 'CODE'
1980 1087 9756 if ($_[0] =~ /^\D/)
1987 20 10823 unless defined $token
1995 0 0 if ($token =~ /$re/)
1997 0 0 if defined $match
2003 1036 9807 if (ref $token eq 'ARRAY') { }
0 9807 elsif ($self->{'_leading_zeros'} and $token =~ /^0\d+$/) { }
7607 2200 elsif ($token =~ /^([+-]?)(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?([Ee]([+-]?[0-9]+))?$/) { }
14 2186 elsif ($token =~ m[^[fh]tt?ps?://]) { }
0 2186 elsif ($token =~ /^mailto:/) { }
0 2186 elsif ($token =~ /^(?:in|ex)ternal:/) { }
21 2165 elsif ($token =~ /^=/) { }
2 2163 elsif ($token =~ /^{=.*}$/) { }
29 2134 elsif ($token eq '') { }
2071 7 1036 if ($_[0] =~ /^\D/)
2076 0 1043 if (ref $_[2] ne 'ARRAY')
2090 1174 2778 if (ref $token eq 'ARRAY') { }
2122 19 1176 if ($_[0] =~ /^\D/)
2127 0 1195 if (ref $_[2] ne 'ARRAY')
2167 69 4096 if ($_[0] =~ /^\D/)
2171 0 4165 if (@_ < 3)
2177 0 4165 unless @_ % 2
2180 4 4161 if $self->_check_dimensions($row, $col)
2207 0 7623 if ($_[0] =~ /^\D/)
2211 0 7623 if (@_ < 3)
2221 3 7620 if $self->_check_dimensions($row, $col)
2224 2 7618 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2251 45 2953 if ($_[0] =~ /^\D/)
2255 0 2998 if (@_ < 3)
2266 0 2998 unless defined $str
2269 4 2994 if $self->_check_dimensions($row, $col)
2272 0 2994 if (length $str > $self->{'_xls_strmax'})
2278 2700 294 if ($self->{'_optimization'} == 0) { }
2286 280 2714 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2315 28 1 if ($_[0] =~ /^\D/)
2319 0 29 if (@_ < 3)
2331 0 29 if $self->_check_dimensions($row, $col)
2335 3 26 if (ref $_[-1])
2342 0 29 unless open my $str_fh, '>', \$str
2360 81 33 if (not ref $token) { }
2363 25 56 if ($last ne 'format') { }
2380 1 32 if ($last eq 'format' and $pos > 0)
2394 24 4 unless (ref $fragments[0])
2400 56 80 if (ref $token) { }
2411 10 70 if ($token =~ /^\s/ or $token =~ /\s$/)
2421 0 28 if ($length > $self->{'_xls_strmax'})
2427 20 8 if ($self->{'_optimization'} == 0) { }
2435 8 20 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2466 0 88 if ($_[0] =~ /^\D/)
2471 0 88 if @_ < 2
2474 24 64 unless defined $_[2]
2482 3 61 if $self->_check_dimensions($row, $col)
2485 0 61 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2512 21 96 if ($_[0] =~ /^\D/)
2516 0 117 if (@_ < 3)
2526 3 114 if ($formula =~ /^{=.*}$/)
2532 3 111 if $self->_check_dimensions($row, $col)
2538 0 111 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2565 5 8 if ($_[0] =~ /^\D/)
2569 0 13 if (@_ < 5)
2581 1 12 if $row1 > $row2
2582 1 12 if $col1 > $col2
2585 2 11 if $self->_check_dimensions($row1, $col1)
2586 3 8 if $self->_check_dimensions($row2, $col2)
2591 4 4 if ($row1 == $row2 and $col1 == $col2) { }
2607 0 8 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2616 8 0 unless ($self->{'_optimization'})
2619 8 8 if $row == $row1 and $col == $col1
2643 4 0 if ($_[0] =~ /^\D/)
2649 2 2 $_[2] ? :
2654 0 4 if $self->_check_dimensions($row, $col)
2657 0 4 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2678 1 0 defined $_[0] ? :
2679 1 0 defined $_[1] ? :
2680 1 0 defined $_[2] ? :
2696 1 99 if $url =~ /%[0-9a-fA-F]{2}/
2736 68 15 if ($_[0] =~ /^\D/)
2740 0 83 if (@_ < 3)
2747 13 70 if (defined $args[3] and not ref $args[3])
2762 69 14 unless defined $str
2765 8 75 if ($url =~ s/^internal://)
2772 15 68 if ($url =~ s/^external://)
2783 0 83 if $self->_check_dimensions($row, $col)
2787 0 83 if (length $str > $self->{'_xls_strmax'})
2797 75 8 if ($link_type == 1)
2805 4 71 if ($url_str and not $external)
2811 9 66 if ($url =~ /^\w:/ or $url =~ /^\\\\/)
2823 1 82 if (length $url > $max_url or length $tmp_url_str > $max_url)
2833 0 82 if ($self->{'_hlink_count'} > 65530)
2841 0 82 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2846 65 17 unless (defined $xf)
2882 12 117 if ($_[0] =~ /^\D/)
2886 0 129 if (@_ < 3)
2896 0 129 if $self->_check_dimensions($row, $col)
2902 0 129 unless (defined $date_time)
2907 0 129 if ($self->{'_optimization'} == 1 and $row > $self->{'_previous_row'})
2955 1 767 if $date_time =~ /[^0-9T:\-\.Z]/
2958 2 765 unless $date_time =~ /\dT|T\d/
2969 206 559 if ($time ne '')
2972 206 0 if ($time =~ /^(\d\d):(\d\d)(:(\d\d(\.\d+)?))?/) { }
2982 1 205 if $hour >= 24
2983 1 204 if $min >= 60
2984 2 202 if $sec >= 60
2992 2 759 if $date eq ''
2996 757 2 if ($date =~ /^(\d\d\d\d)-(\d\d)-(\d\d)$/) { }
3010 542 215 unless ($date_1904)
3011 104 438 if $date eq '1899-12-31'
3012 1 437 if $date eq '1900-01-00'
3013 1 436 if $date eq '1900-02-29'
3022 215 436 $date_1904 ? :
3023 215 436 $date_1904 ? :
3031 213 438 if $year % 4 == 0 and $year % 100 or $year % 400 == 0
3032 213 438 if $leap
3036 6 645 if $year < $epoch or $year > 9999
3037 6 639 if $month < 1 or $month > 12
3038 6 633 if $day < 1 or $day > $mdays[$month - 1]
3051 423 210 if $date_1904 == 0 and $days > 59
3074 0 382 unless defined $row
3080 349 33 if (defined $self->{'_dim_colmin'})
3085 0 382 if $self->_check_dimensions($row, $min_col)
3087 318 64 unless defined $height
3090 1 381 if ($height == 0)
3096 0 382 if $level < 0
3097 0 382 if $level > 7
3099 11 371 if ($level > $self->{'_outline_row_level'})
3126 5 1 if ($height != $self->{'_original_row_height'})
3133 3 3 if ($zero_height)
3151 12 12 if ($_[0] =~ /^\D/)
3154 0 24 if @_ < 6
3155 0 24 unless ref $_[5]
3166 0 24 if ($row_first == $row_last and $col_first == $col_last)
3171 1 23 if $row_first > $row_last
3173 1 23 if $col_first > $col_last
3177 0 24 if $self->_check_dimensions($row_first, $col_first)
3178 4 20 if $self->_check_dimensions($row_last, $col_last)
3189 20 48 if $row == $row_first and $col == $col_first
3208 7 0 if ($_[0] =~ /^\D/)
3219 2 5 if ($type eq 'array_formula' or $type eq 'blank' or $type eq 'rich_string') { }
3234 0 7 unless ref $format
3238 0 7 if ($row_first == $row_last and $col_first == $col_last)
3243 0 7 if $row_first > $row_last
3245 0 7 if $col_first > $col_last
3249 0 7 if $self->_check_dimensions($row_first, $col_first)
3250 0 7 if $self->_check_dimensions($row_last, $col_last)
3256 1 6 if ($type eq 'string') { }
1 5 elsif ($type eq 'number') { }
1 4 elsif ($type eq 'blank') { }
1 3 elsif ($type eq 'date_time') { }
1 2 elsif ($type eq 'rich_string') { }
1 1 elsif ($type eq 'url') { }
1 0 elsif ($type eq 'formula') { }
0 0 elsif ($type eq 'array_formula') { }
3287 7 7 if $row == $row_first and $col == $col_first
3317 63 5 if ($_[0] =~ /^\D/)
3322 0 68 if (@_ != 5 and @_ != 3)
3329 63 5 unless (defined $row2)
3335 0 68 if $self->_check_dimensions($row1, $col1, 1, 1)
3336 0 68 if $self->_check_dimensions($row2, $col2, 1, 1)
3340 0 68 if (ref $param ne 'HASH')
3367 0 262 unless (exists $valid_parameter{$param_key})
3374 5 63 if defined $param->{'source'}
3375 24 44 if defined $param->{'minimum'}
3378 0 68 unless (exists $param->{'validate'})
3402 0 68 if (not exists $valid_type{lc $param->{'validate'}}) { }
3413 1 2 if ($param->{'validate'} eq 'none' and not defined $param->{'input_message'} and not defined $param->{'input_title'})
3422 16 49 if ($param->{'validate'} eq 'none' or $param->{'validate'} eq 'list' or $param->{'validate'} eq 'custom')
3431 0 67 unless (exists $param->{'criteria'})
3458 0 67 if (not exists $criteria_type{lc $param->{'criteria'}}) { }
3469 42 25 if ($param->{'criteria'} eq 'between' or $param->{'criteria'} eq 'notBetween') { }
3471 0 42 unless (exists $param->{'maximum'})
3490 65 2 if (not exists $param->{'error_type'}) { }
0 2 elsif (not exists $error_type{lc $param->{'error_type'}}) { }
3504 7 60 if ($param->{'validate'} eq 'date' or $param->{'validate'} eq 'time')
3507 5 2 if (defined $date_time)
3511 3 4 if (defined $param->{'maximum'})
3514 2 1 if (defined $date_time)
3521 1 66 if ($param->{'input_title'} and length $param->{'input_title'} > 32)
3528 0 66 if ($param->{'error_title'} and length $param->{'error_title'} > 32)
3535 1 65 if ($param->{'input_message'} and length $param->{'input_message'} > 255)
3542 0 65 if ($param->{'error_message'} and length $param->{'error_message'} > 255)
3549 13 52 if ($param->{'validate'} eq 'list')
3551 11 2 if (ref $param->{'value'} eq 'ARRAY')
3554 1 10 if (length $formula > 255)
3563 62 2 unless defined $param->{'ignore_blank'}
3564 63 1 unless defined $param->{'dropdown'}
3565 61 3 unless defined $param->{'show_input'}
3566 62 2 unless defined $param->{'show_error'}
3573 3 61 if (exists $param->{'other_cells'})
3605 149 0 if ($_[0] =~ /^\D/)
3608 1 148 if ($_[0] =~ /,/)
3623 74 75 unless (defined $row2)
3629 0 149 if $self->_check_dimensions($row1, $col1, 1, 1)
3630 0 149 if $self->_check_dimensions($row2, $col2, 1, 1)
3634 0 149 if (ref $options ne 'HASH')
3682 0 492 unless (exists $valid_parameter{$param_key})
3689 0 149 unless (exists $param->{'type'})
3719 0 149 if (not exists $valid_type{lc $param->{'type'}}) { }
3725 2 147 if $param->{'type'} eq 'bottom'
3764 53 96 if (defined $param->{'criteria'} and exists $criteria_type{lc $param->{'criteria'}})
3771 2 147 if ($param->{'type'} eq 'date' or $param->{'type'} eq 'time')
3774 1 1 if (defined $param->{'value'} and $param->{'value'} =~ /T/)
3777 0 1 if (not defined $date_time) { }
3787 1 1 if (defined $param->{'minimum'} and $param->{'minimum'} =~ /T/)
3790 0 1 if (not defined $date_time) { }
3800 1 1 if (defined $param->{'maximum'} and $param->{'maximum'} =~ /T/)
3803 0 1 if (not defined $date_time) { }
3838 37 112 if ($param->{'type'} eq 'iconSet')
3840 0 37 unless (defined $param->{'icon_style'})
3847 0 37 if (not exists $icon_set_styles{$param->{'icon_style'}}) { }
3858 11 26 if ($param->{'icon_style'} =~ /^4/) { }
8 18 elsif ($param->{'icon_style'} =~ /^5/) { }
3875 0 149 if ($row1 > $row2)
3879 0 149 if ($col1 > $col2)
3884 74 75 if ($row1 == $row2 and $col1 == $col2) { }
3894 1 148 if ($user_range)
3899 27 122 if (defined $param->{'format'} and ref $param->{'format'})
3907 3 124 if ($self->{'_use_data_bars_2010'} or $param->{'data_bar_2010'} or $param->{'bar_solid'} or $param->{'bar_border_color'} or $param->{'bar_negative_color'} or $param->{'bar_negative_color_same'} or $param->{'bar_negative_border_color'} or $param->{'bar_negative_border_color_same'} or $param->{'bar_no_border'} or $param->{'bar_axis_position'} or $param->{'bar_axis_color'} or $param->{'bar_direction'})
3924 8 141 if ($param->{'type'} eq 'text')
3926 1 7 if ($param->{'criteria'} eq 'containsText') { }
1 6 elsif ($param->{'criteria'} eq 'notContains') { }
3 3 elsif ($param->{'criteria'} eq 'beginsWith') { }
3 0 elsif ($param->{'criteria'} eq 'endsWith') { }
3953 10 139 if ($param->{'type'} eq 'timePeriod')
3955 1 9 if ($param->{'criteria'} eq 'yesterday') { }
1 8 elsif ($param->{'criteria'} eq 'today') { }
1 7 elsif ($param->{'criteria'} eq 'tomorrow') { }
1 6 elsif ($param->{'criteria'} eq 'last7Days') { }
1 5 elsif ($param->{'criteria'} eq 'lastWeek') { }
1 4 elsif ($param->{'criteria'} eq 'thisWeek') { }
1 3 elsif ($param->{'criteria'} eq 'nextWeek') { }
1 2 elsif ($param->{'criteria'} eq 'lastMonth') { }
1 1 elsif ($param->{'criteria'} eq 'thisMonth') { }
1 0 elsif ($param->{'criteria'} eq 'nextMonth') { }
4014 1 148 if ($param->{'type'} eq 'containsBlanks')
4018 1 148 if ($param->{'type'} eq 'notContainsBlanks')
4022 1 148 if ($param->{'type'} eq 'containsErrors')
4026 1 148 if ($param->{'type'} eq 'notContainsErrors')
4032 1 148 if ($param->{'type'} eq '2_color_scale')
4055 4 145 if ($param->{'type'} eq '3_color_scale')
4065 3 1 unless defined $param->{'mid_value'}
4078 29 120 if ($param->{'type'} eq 'dataBar')
4083 22 7 if (not defined $param->{'min_type'}) { }
4091 23 6 if (not defined $param->{'max_type'}) { }
4132 25 124 if ($param->{'_is_data_bar_2010'})
4136 20 5 if ($param->{'min_type'} eq 'min' and $param->{'min_value'} == 0)
4140 21 4 if ($param->{'max_type'} eq 'max' and $param->{'max_value'} == 0)
4149 14 135 if defined $param->{'min_value'}
4150 5 144 if defined $param->{'mid_value'}
4151 13 136 if defined $param->{'max_value'}
4180 18 19 if ($total_icons == 3)
4185 11 26 if ($total_icons == 4)
4191 8 29 if ($total_icons == 5)
4199 13 24 if (defined $user_props)
4203 2 11 if ($max_data >= $total_icons)
4210 24 6 if (defined $user_props->[$i]{'value'})
4216 14 16 if (defined $user_props->[$i]{'type'})
4220 0 14 if ($type ne 'percent' and $type ne 'percentile' and $type ne 'number' and $type ne 'formula') { }
4231 2 12 if ($props->[$i]{'type'} eq 'number')
4238 7 23 if (defined $user_props->[$i]{'criteria'} and $user_props->[$i]{'criteria'} eq '>')
4268 0 48 if ($self->{'_optimization'} == 1)
4274 48 0 if (@_ and $_[0] =~ /^\D/)
4279 0 48 if (@_ < 4)
4287 0 48 if $self->_check_dimensions($row1, $col1, 1, 1)
4288 0 48 if $self->_check_dimensions($row2, $col2, 1, 1)
4295 0 48 if (ref $param ne 'HASH')
4318 0 44 unless (exists $valid_parameter{$param_key})
4325 47 1 unless defined $param->{'banded_rows'}
4326 45 3 unless defined $param->{'header_row'}
4327 47 1 unless defined $param->{'autofilter'}
4330 1 47 $param->{'first_column'} ? :
4331 1 47 $param->{'last_column'} ? :
4332 47 1 $param->{'banded_rows'} ? :
4333 1 47 $param->{'banded_columns'} ? :
4334 45 3 $param->{'header_row'} ? :
4335 10 38 $param->{'total_row'} ? :
4339 1 47 if (defined $param->{'name'})
4343 0 1 if (not $name =~ /^[\w\\][\w\\.]*$/ or $name =~ /^\d/)
4349 0 1 if ($name =~ /^[a-zA-Z][a-zA-Z]?[a-dA-D]?[0-9]+$/)
4355 0 1 if ($name =~ /^[rcRC]$/ or $name =~ /^[rcRC]\d+[rcRC]\d+$/)
4364 3 45 if (defined $param->{'style'}) { }
4376 0 48 if ($row1 > $row2)
4380 0 48 if ($col1 > $col2)
4388 45 3 if $param->{'header_row'}
4389 10 38 if $param->{'total_row'}
4398 3 45 unless ($param->{'header_row'})
4403 44 4 if ($param->{'autofilter'})
4424 85 127 if ($param->{'columns'})
4427 84 1 if (my $user_data = $param->{'columns'}[$col_id - 1])
4431 12 72 if $user_data->{'header'}
4436 1 83 if (exists $seen_names{$key}) { }
4448 3 80 if ($user_data->{'formula'})
4466 40 43 if ($user_data->{'total_function'}) { }
9 34 elsif ($user_data->{'total_string'}) { }
4474 4 36 if $function eq 'countnums'
4475 4 36 if $function eq 'stddev'
4502 9 74 if (defined $user_data->{'format'} and ref $user_data->{'format'})
4518 201 10 if ($param->{'header_row'})
4528 6 41 if (my $data = $param->{'data'})
4538 77 7 if (defined $token)
4569 0 58 if (ref $param ne 'HASH')
4606 0 212 unless (exists $valid_parameter{$param_key})
4613 0 58 unless (exists $param->{'location'})
4619 0 58 unless (exists $param->{'range'})
4628 0 9 if ($type ne 'line' and $type ne 'column' and $type ne 'win_loss')
4634 1 57 if $type eq 'win_loss'
4639 2 56 if (ref $param->{'location'}) { }
4652 0 58 if ($range_count != $location_count)
4674 54 5 unless ($range =~ /!/)
4701 1 57 if ($empty eq 'zero') { }
1 56 elsif ($empty eq 'connect') { }
4715 1 57 if ($date_range and not $date_range =~ /!/)
4757 28 0 if ($_[0] =~ /^\D/)
4762 0 28 if (@_ < 3)
4783 2 5 if ($vba_codename) { }
4828 40 0 if (exists $subtotals{$function}) { }
4854 398 8 unless $param->{$user_color}
4875 167 6 if ($index =~ /^#([0-9A-F]{6})$/i)
4905 191 2336 if ($cell =~ /\$?([A-Z]{1,3}):\$?([A-Z]{1,3})/)
4913 195 2141 if ($cell =~ /\$?([A-Z]{1,3}\$?\d+):\$?([A-Z]{1,3}\$?\d+)/)
4920 2141 0 if ($cell =~ /\$?([A-Z]{1,3}\$?\d+)/)
4949 2913 0 $1 eq '' ? :
4951 2911 2 $3 eq '' ? :
5004 2059 11 unless @_
5011 6 5 if $array[0] == 0
5016 1 10 if @array > $max_num_breaks
5043 0 16607 unless defined $row
5044 13 16594 if $row >= $self->{'_xls_rowmax'}
5046 0 16594 unless defined $col
5047 10 16584 if $col >= $self->{'_xls_colmax'}
5051 318 16266 if (not $ignore_row || $ignore_col and $self->{'_optimization'} == 1)
5052 5 313 if $row < $self->{'_previous_row'}
5055 15651 928 unless ($ignore_row)
5057 833 14818 if (not defined $self->{'_dim_rowmin'} or $row < $self->{'_dim_rowmin'})
5061 4677 10974 if (not defined $self->{'_dim_rowmax'} or $row > $self->{'_dim_rowmax'})
5066 15699 880 unless ($ignore_col)
5068 840 14859 if (not defined $self->{'_dim_colmin'} or $col < $self->{'_dim_colmin'})
5072 2318 13381 if (not defined $self->{'_dim_colmax'} or $col > $self->{'_dim_colmax'})
5164 1 4747 if $x1 < 0
5165 1 4747 if $y1 < 0
5168 55 4693 if ($self->{'_col_size_changed'}) { }
5182 23 4725 if ($self->{'_row_size_changed'}) { }
5211 4748 0 if ($self->_size_col($col_start, $anchor) > 0)
5215 4748 0 if ($self->_size_row($row_start, $anchor) > 0)
5352 175 37179 if (exists $self->{'_col_sizes'}{$col}) { }
5358 16 159 if ($hidden == 1 and $anchor != 4) { }
0 159 elsif ($width < 1) { }
5393 72 60096 if (exists $self->{'_row_sizes'}{$row}) { }
5397 8 64 if ($hidden == 1 and $anchor != 4) { }
5425 1129 1591 unless (exists ${$$self{'_str_table'};}->{$str})
5447 439 137 if (not defined $target) { }
4 133 elsif (exists $self->{'_drawing_rels'}{$target}) { }
5472 10 34 if (exists $self->{'_vml_drawing_rels'}{$target}) { }
5495 398 0 if ($_[0] =~ /^\D/)
5508 0 398 unless @_ >= 3
5510 398 0 if (ref $chart)
5513 0 398 unless $chart->isa('Excel::Writer::XLSX::Chart')
5518 0 398 unless $chart->{'_embedded'}
5522 3 395 if (ref $_[3] eq 'HASH') { }
5541 0 398 if ($chart->{'_already_inserted'} or $chart->{'_combined'} and $chart->{'_combined'}{'_already_inserted'}) { }
5550 10 388 if ($chart->{'_combined'})
5556 1 397 if $chart->{'_x_scale'} != 1
5557 1 397 if $chart->{'_y_scale'} != 1
5558 1 397 if $chart->{'_x_offset'}
5559 1 397 if $chart->{'_y_offset'}
5587 398 0 if $chart->{'_width'}
5588 398 0 if $chart->{'_height'}
5601 386 12 if (not $self->{'_drawing'}) { }
5645 0 1140 if $self->{'_optimization'}
5656 5 5397 unless (exists $self->{'_table'}{$row_num})
5663 5393 4 if (my $cell = $self->{'_table'}{$row_num}{$col_num}) { }
5669 5366 27 if ($type eq 'n') { }
27 0 elsif ($type eq 's') { }
0 0 elsif ($type eq 'f') { }
0 0 elsif ($type eq 'a') { }
0 0 elsif ($type eq 'b') { }
5677 27 0 if ($self->{'_optimization'} == 0) { }
5723 112 2 if ($_[0] =~ /^\D/)
5738 34 80 if (ref $_[3] eq 'HASH') { }
5758 0 114 unless @_ >= 3
5759 0 114 unless -e $image
5811 87 27 if (not $self->{'_drawing'}) { }
5838 23 91 if ($url)
5843 18 5 if ($url =~ m[^[fh]tt?ps?://] or $url =~ /^mailto:/)
5847 3 20 if ($url =~ s[^external:][file:///])
5854 2 21 if ($url =~ s/^internal:/#/)
5860 0 23 if (length $target > $max_url) { }
5866 22 1 if ($target and not exists $self->{'_drawing_rels'}{$url})
5876 111 3 unless (exists $self->{'_drawing_rels'}{$md5})
5907 34 10 unless (exists $self->{'_vml_drawing_rels'}{$md5})
5930 41 4 if ($_[0] =~ /^\D/)
5935 0 45 unless @_ >= 3
5940 0 45 unless $shape->isa('Excel::Writer::XLSX::Shape')
5951 1 44 if defined $_[5]
5952 1 44 if defined $_[6]
5959 28 62 exists $self->{'_shape_hash'}{$id} ? :
5962 45 45 if (not $used and $id != 0) { }
5978 45 0 if ($shape->{'_stencil'}) { }
6024 10 31 if (not $self->{'_drawing'}) { }
6092 12 33 $connector_shapes->{$shape_base} ? :
6094 33 12 unless $shape->{'_connect'}
6097 0 12 unless $shape->{'_start'} and $shape->{'_end'}
6100 0 12 unless $shape->{'_start_side'} and $shape->{'_end_side'}
6107 11 1 if (defined $slink_id) { }
6116 10 1 if (defined $elink_id) { }
6134 5 5 if ($connect_type eq 'bt') { }
5 0 elsif ($connect_type eq 'rl') { }
6146 3 2 $smidx < $emidx ? :
6149 2 3 if ($sy > $ey)
6154 1 1 if ($#{$$shape{'_adjustments'};} < 0)
6170 1 4 if $smidx < $emidx and $smidy > $emidy
6171 1 4 if $smidx > $emidx and $smidy < $emidy
6172 2 3 if ($smidx > $emidx)
6175 1 1 if ($#{$$shape{'_adjustments'};} < 0)
6200 0 41 unless (grep /^$shape->{'_align'}$/, ('l', 'ctr', 'r', 'just'))
6205 0 41 if (not grep(/^$shape->{'_valign'}$/, ('t', 'ctr', 'b')))
6242 10 4151 if ($self->{'_comments_visible'})
6243 8 2 unless (defined $self->{'_comments'}{$row}{$col}[4])
6249 4159 2 unless (defined $self->{'_comments'}{$row}{$col}[3])
6261 43 14 if ($self->{'_has_comments'})
6322 46 1 unless (defined $table->{'_name'})
6331 0 47 if (exists $seen->{$name}) { }
6390 0 4161 unless $params{'width'}
6391 0 4161 unless $params{'height'}
6397 0 4161 if (length $string > $max_len)
6406 0 4161 if ($color_id =~ /^#[0-9A-F]{6}$/i) { }
4160 1 elsif ($color_id == 0) { }
6428 0 4161 if (defined $params{'start_cell'})
6442 4161 0 unless (defined $params{'start_row'})
6444 53 4108 if ($row == 0) { }
0 4108 elsif ($row == $row_max - 3) { }
0 4108 elsif ($row == $row_max - 2) { }
1 4107 elsif ($row == $row_max - 1) { }
6451 4160 1 unless (defined $params{'y_offset'})
6453 53 4107 if ($row == 0) { }
0 4107 elsif ($row == $row_max - 3) { }
0 4107 elsif ($row == $row_max - 2) { }
1 4106 elsif ($row == $row_max - 1) { }
6460 4161 0 unless (defined $params{'start_col'})
6462 0 4161 if ($col == $col_max - 3) { }
0 4161 elsif ($col == $col_max - 2) { }
1 4160 elsif ($col == $col_max - 1) { }
6468 4161 0 unless (defined $params{'x_offset'})
6470 0 4161 if ($col == $col_max - 3) { }
0 4161 elsif ($col == $col_max - 2) { }
1 4160 elsif ($col == $col_max - 1) { }
6478 4161 0 if ($params{'x_scale'})
6482 4161 0 if ($params{'y_scale'})
6537 24 4 unless (defined $caption)
6545 5 23 if ($params->{'macro'}) { }
6556 27 1 unless $params->{'width'}
6557 27 1 unless $params->{'height'}
6560 27 1 unless $params->{'x_offset'}
6561 27 1 unless $params->{'y_offset'}
6564 1 27 if ($params->{'x_scale'})
6568 1 27 if ($params->{'y_scale'})
6610 1 0 if $_[0] =~ /^\D/
6613 0 1 if @_ < 3
6628 1 0 if $_[0] =~ /^\D/
6631 0 1 if @_ < 3
6657 0 5 if $_[0] =~ /^\D/
6659 0 5 if (@_ < 2)
6669 0 5 if @pairs % 2
6672 0 5 if ref $formula_ref ne 'ARRAY'
6679 0 5 if (@pairs and $pairs[-2] eq 'result')
6690 6 10 if $token =~ s/$pattern/$replace/
6726 23 1011 if ($self->{'_excel_version'} == 2010)
6752 1010 6 unless ($self->{'_fit_page'} or $self->{'_filter_on'} or $self->{'_tab_color'} or $self->{'_outline_changed'} or $self->{'_vba_codename'})
6763 6 20 if $codename
6764 9 17 if $self->{'_filter_on'}
6766 11 15 if ($self->{'_fit_page'} or $self->{'_tab_color'} or $self->{'_outline_changed'}) { }
6792 4 9 unless $self->{'_fit_page'}
6812 255 788 if (not defined $self->{'_dim_rowmin'} || defined $self->{'_dim_colmin'}) { }
9 779 elsif (not defined $self->{'_dim_rowmin'} and defined $self->{'_dim_colmin'}) { }
135 644 elsif ($self->{'_dim_rowmin'} == $self->{'_dim_rowmax'} and $self->{'_dim_colmin'} == $self->{'_dim_colmax'}) { }
6823 6 3 if ($self->{'_dim_colmin'} == $self->{'_dim_colmax'}) { }
6916 3 1110 unless ($gridlines)
6921 1 1112 if ($row_col_headers)
6926 1 1112 unless ($show_zeros)
6931 1 1112 if ($right_to_left)
6936 964 149 if ($tab_selected)
6942 1 1112 unless ($self->{'_outline_on'})
6948 2 1111 if ($view)
6953 2 1111 if ($zoom != 100)
6954 2 0 unless $view
6956 1 1 if $self->{'_zoom_scale_normal'}
6961 69 1044 if (@{$self->{'_panes'};} or @{$self->{'_selections'};}) { }
7003 88 18 if $pane
7004 91 15 if $active_cell
7005 91 15 if $sqref
7028 4 1030 if ($self->{'_default_row_height'} != $self->{'_original_row_height'})
7032 3 1031 if ($self->{'_default_row_zeroed'})
7036 5 1029 if $row_level
7037 1 1033 if $col_level
7039 23 1011 if ($self->{'_excel_version'} == 2010)
7058 924 109 unless %{$self->{'_colinfo'};}
7090 20 181 if (ref $format)
7095 29 172 if (not defined $width) { }
7096 17 12 if (not $hidden) { }
7107 1 171 if ($width == 8.43)
7117 189 12 if ($width > 0)
7118 22 167 if ($width < 1) { }
7138 20 181 if $xf_index
7139 19 182 if $hidden
7140 183 18 if $custom_width
7141 1 200 if $level
7142 0 201 if $collapsed
7159 264 760 if (not defined $self->{'_dim_rowmin'}) { }
7186 0 10 if (not defined $self->{'_dim_rowmin'}) { }
7228 1048856 306 unless ($self->{'_set_rows'}{$row_num} or $self->{'_table'}{$row_num} or $self->{'_comments'}{$row_num})
7239 3738 368 if (my $row_ref = $self->{'_table'}{$row_num}) { }
306 62 elsif ($self->{'_comments'}{$row_num}) { }
7241 3420 318 if (not $self->{'_set_rows'}{$row_num}) { }
7251 10217 16918 if (my $col_ref = $self->{'_table'}{$row_num}{$col_num})
7292 0 0 unless ($self->{'_set_rows'}{$row_num} or $self->{'_table'}{$row_num} or $self->{'_comments'}{$row_num})
7300 300 0 if (my $row_ref = $self->{'_table'}{$row_num}) { }
7302 299 1 if (not $self->{'_set_rows'}{$row_num}) { }
7311 309 35 if (my $col_ref = $self->{'_table'}{$row_num}{$col_num})
7352 4044 1049224 if (my $row_ref = $self->{'_table'}{$row_num})
7355 10523 21814 if (my $col_ref = $self->{'_table'}{$row_num}{$col_num})
7357 818 9705 if (not defined $span_min) { }
7362 7 9698 if $col_num < $span_min
7363 1479 8226 if $col_num > $span_max
7370 315 1052953 if (defined $self->{'_comments'}{$row_num})
7373 4159 32844 if (defined $self->{'_comments'}{$row_num}{$col_num})
7375 33 4126 if (not defined $span_min) { }
7380 0 4126 if $col_num < $span_min
7381 266 3860 if $col_num > $span_max
7387 66402 986866 if (($row_num + 1) % 16 == 0 or $row_num == $self->{'_dim_rowmax'})
7392 851 65551 if (defined $span_min)
7424 4029 385 unless defined $height
7429 11 4403 if (ref $format)
7433 4082 332 if defined $spans
7434 11 4403 if $xf_index
7435 11 4403 if $format
7437 67 4347 if ($height != $self->{'_original_row_height'})
7441 281 4133 if $hidden
7443 67 4347 if ($height != $self->{'_original_row_height'})
7447 53 4361 if $level
7448 4 4410 if $collapsed
7450 60 4354 if ($self->{'_excel_version'} == 2010)
7454 369 4045 if ($empty_row) { }
7523 411 10120 if (ref $xf)
7531 411 10120 if ($xf_index) { }
11 10109 elsif ($self->{'_set_rows'}{$row} and $self->{'_set_rows'}{$row}[1]) { }
17 10092 elsif ($self->{'_col_formats'}{$col}) { }
7545 7438 3093 if ($type eq 'n') { }
2950 143 elsif ($type eq 's') { }
75 68 elsif ($type eq 'f') { }
9 59 elsif ($type eq 'a') { }
4 55 elsif ($type eq 'l') { }
55 0 elsif ($type eq 'b') { }
7553 2648 302 if ($self->{'_optimization'} == 0) { }
7565 8 294 if ($string =~ /^/ and $string =~ m[$]) { }
7573 3 291 if ($string =~ /^\s/ or $string =~ /\s$/)
7586 4 71 unless defined $value
7589 17 58 if ($value and not $value =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
7592 2 15 if (exists $boolean{$value}) { }
8 7 elsif (exists $error_codes{$value}) { }
7643 14 0 defined $_[0] ? :
7658 0 0 defined $_[0] ? :
7770 1036 23 unless $self->{'_page_setup_changed'}
7773 19 4 if ($self->{'_paper_size'})
7778 3 20 if ($self->{'_print_scale'} != 100)
7783 3 20 if ($self->{'_fit_page'} and $self->{'_fit_width'} != 1)
7787 4 19 if ($self->{'_fit_page'} and $self->{'_fit_height'} != 1)
7792 2 21 if ($self->{'_page_order'})
7797 2 21 if ($self->{'_page_start'} > 1)
7802 2 21 if ($self->{'_orientation'} == 0) { }
7810 1 22 if ($self->{'_black_white'})
7815 3 20 if ($self->{'_page_start'} != 0)
7820 0 23 if ($self->{'_horizontal_dpi'})
7824 5 18 if ($self->{'_vertical_dpi'})
7845 1022 14 unless $count
7896 1052 10 unless $self->{'_print_options_changed'}
7899 4 6 if ($self->{'_hcenter'})
7904 4 6 if ($self->{'_vcenter'})
7909 2 8 if ($self->{'_print_headers'})
7914 4 6 if ($self->{'_print_gridlines'})
7934 2 1055 unless ($self->{'_header_footer_scales'})
7938 10 1047 unless ($self->{'_header_footer_aligns'})
7942 32 1025 if ($self->{'_header_footer_changed'}) { }
7 1018 elsif ($self->{'_excel2003_style'}) { }
7944 29 3 if $self->{'_header'}
7945 13 19 if $self->{'_footer'}
7997 1029 6 unless @page_breaks
8027 1030 5 unless @page_breaks
8078 1022 32 unless $ref
8082 29 3 if ($self->{'_filter_on'}) { }
8117 86 30 unless $self->{'_filter_cols'}{$col}
8147 15 16 if ($type == 1) { }
8176 4 14 if (@filters != @non_blanks)
8180 2 16 if (@filters == 1 and @non_blanks == 0) { }
8227 14 4 if (@tokens == 2) { }
8242 4 0 if ($tokens[2] == 0) { }
8283 23 0 if (defined $operators{$operator}) { }
8291 18 5 unless $operator eq 'equal'
8314 984 49 unless @row_nums
8334 81 0 if ($self->{'_table'} and $self->{'_table'}{$row_num} and $self->{'_table'}{$row_num}{$col_num})
8339 1 80 if $cell->[0] ne 's'
8343 74 8 if ($link_type == 1) { }
8376 74 8 if ($type == 1) { }
8 0 elsif ($type == 2) { }
8412 9 66 if defined $location
8413 1 74 if defined $display
8414 3 72 if defined $tooltip
8439 3 8 if defined $tooltip
8457 17 66 unless @panes
8459 38 28 if ($panes[4] == 2) { }
8490 7 21 if (@{$self->{'_selections'};})
8496 13 15 if ($row and $col) { }
7 8 elsif ($col) { }
8519 25 3 if ($type == 0) { }
3 0 elsif ($type == 1) { }
8530 20 8 if $x_split
8531 21 7 if $y_split
8566 8 30 if (@{$self->{'_selections'};})
8573 24 14 if $y_split
8574 24 14 if $x_split
8579 26 12 if ($top_row == $row and $left_col == $col)
8587 30 8 unless ($has_selection)
8593 10 28 if ($row and $col) { }
14 14 elsif ($col) { }
8615 24 14 if $x_split
8616 24 14 if $y_split
8618 8 30 if $has_selection
8640 0 24 if ($width < 1) { }
8671 8 5 unless $color_index
8692 10 1 unless $self->{'_outline_changed'}
8694 1 0 if $self->{'_outline_style'}
8695 1 0 unless $self->{'_outline_below'}
8696 1 0 unless $self->{'_outline_right'}
8697 1 0 unless $self->{'_outline_on'}
8714 1052 27 unless $self->{'_protect'}
8718 6 21 if $arg{'password'}
8719 20 7 if $arg{'sheet'}
8720 5 22 if $arg{'content'}
8721 23 4 unless $arg{'objects'}
8722 18 9 unless $arg{'scenarios'}
8723 3 24 if $arg{'format_cells'}
8724 2 25 if $arg{'format_columns'}
8725 2 25 if $arg{'format_rows'}
8726 2 25 if $arg{'insert_columns'}
8727 2 25 if $arg{'insert_rows'}
8728 2 25 if $arg{'insert_hyperlinks'}
8729 2 25 if $arg{'delete_columns'}
8730 2 25 if $arg{'delete_rows'}
8733 3 24 unless $arg{'select_locked_cells'}
8735 2 25 if $arg{'sort'}
8736 2 25 if $arg{'autofilter'}
8737 2 25 if $arg{'pivot_tables'}
8740 2 25 unless $arg{'select_unlocked_cells'}
8757 550 504 unless $self->{'_drawing'}
8792 976 58 unless $self->{'_has_vml'}
8815 1011 22 unless $self->{'_has_header_vml'}
8846 19 37 if $format->{'_bold'}
8847 10 46 if $format->{'_italic'}
8848 0 56 if $format->{'_font_strikeout'}
8849 0 56 if $format->{'_font_outline'}
8850 0 56 if $format->{'_font_shadow'}
8853 0 56 if $format->{'_underline'}
8855 0 56 if $format->{'_font_script'} == 1
8856 0 56 if $format->{'_font_script'} == 2
8860 0 56 if (my $theme = $format->{'_theme'}) { }
1 55 elsif (my $color = $format->{'_color'}) { }
8876 56 0 if ($format->{'_font'} eq 'Calibri' and not $format->{'_hyperlink'})
8898 0 0 if ($underline == 2) { }
0 0 elsif ($underline == 33) { }
0 0 elsif ($underline == 34) { }
8968 1027 62 unless $count
9002 4 64 if $sqref ne ''
9007 0 68 if ($row_first > $row_last)
9011 0 68 if ($col_first > $col_last)
9016 65 3 if ($row_first == $row_last and $col_first == $col_last) { }
9025 62 2 if ($param->{'validate'} ne 'none')
9029 26 36 if ($param->{'criteria'} ne 'between')
9035 2 62 if ($param->{'error_type'})
9037 1 1 if $param->{'error_type'} == 1
9039 1 1 if $param->{'error_type'} == 2
9042 62 2 if $param->{'ignore_blank'}
9043 1 63 unless $param->{'dropdown'}
9044 61 3 if $param->{'show_input'}
9045 62 2 if $param->{'show_error'}
9048 4 60 if $param->{'error_title'}
9051 3 61 if $param->{'error_message'}
9054 15 49 if $param->{'input_title'}
9057 14 50 if $param->{'input_message'}
9061 2 62 if ($param->{'validate'} eq 'none') { }
9072 24 38 if defined $param->{'maximum'}
9091 10 52 if (ref $formula eq 'ARRAY')
9130 974 63 unless scalar @ranges
9178 27 122 if defined $param->{'format'}
9183 5 144 if $param->{'stop_if_true'}
9185 36 113 if ($param->{'type'} eq 'cellIs') { }
10 103 elsif ($param->{'type'} eq 'aboveAverage') { }
4 99 elsif ($param->{'type'} eq 'top10') { }
1 98 elsif ($param->{'type'} eq 'duplicateValues') { }
1 97 elsif ($param->{'type'} eq 'uniqueValues') { }
8 89 elsif ($param->{'type'} eq 'containsText' or $param->{'type'} eq 'notContainsText' or $param->{'type'} eq 'beginsWith' or $param->{'type'} eq 'endsWith') { }
10 79 elsif ($param->{'type'} eq 'timePeriod') { }
4 75 elsif ($param->{'type'} eq 'containsBlanks' or $param->{'type'} eq 'notContainsBlanks' or $param->{'type'} eq 'containsErrors' or $param->{'type'} eq 'notContainsErrors') { }
5 70 elsif ($param->{'type'} eq 'colorScale') { }
29 41 elsif ($param->{'type'} eq 'dataBar') { }
4 37 elsif ($param->{'type'} eq 'expression') { }
37 0 elsif ($param->{'type'} eq 'iconSet') { }
9190 5 31 if (defined $param->{'minimum'} and defined $param->{'maximum'}) { }
9198 2 28 unless ($value =~ /(\$?)([A-Z]{1,3})(\$?)(\d+)/ or $value =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
9202 1 1 unless ($value =~ /^".*"$/)
9213 5 5 if ($param->{'criteria'} =~ /below/)
9217 2 8 if ($param->{'criteria'} =~ /equal/)
9221 6 4 if ($param->{'criteria'} =~ /([123]) std dev/)
9228 2 2 if (defined $param->{'criteria'} and $param->{'criteria'} eq '%')
9232 2 2 if ($param->{'direction'})
9287 25 4 if ($param->{'_is_data_bar_2010'})
9326 36 1 if ($icon_style ne '3TrafficLights')
9330 4 0 if (exists $param->{'icons_only'} and $param->{'icons_only'})
9334 6 0 if (exists $param->{'reverse_icons'} and $param->{'reverse_icons'})
9385 4 1 if (defined $param->{'mid_type'})
9393 4 1 if (defined $param->{'mid_color'})
9415 2 27 if ($data_bar->{'bar_only'})
9477 169 41 if (defined $value)
9481 7 203 if ($criteria)
9503 41 9 if ($type eq 'min' or $type eq 'max' or $type eq 'autoMin' or $type eq 'autoMax') { }
9549 1006 27 unless $count
9596 1011 11 unless ($has_data_bars or $has_sparklines)
9603 11 11 if ($has_data_bars)
9607 12 10 if ($has_sparklines)
9676 24 1 unless ($data_bar->{'bar_no_border'})
9681 24 1 unless ($data_bar->{'bar_negative_color_same'})
9687 23 1 unless ($data_bar->{'bar_no_border'} or $data_bar->{'bar_negative_border_color_same'})
9695 24 1 if ($data_bar->{'bar_axis_position'} ne 'none')
9751 24 1 unless ($data_bar->{'bar_no_border'})
9755 1 24 if ($data_bar->{'bar_solid'})
9759 1 24 if ($data_bar->{'bar_direction'} eq 'left')
9763 1 24 if ($data_bar->{'bar_direction'} eq 'right')
9767 1 24 if ($data_bar->{'bar_negative_color_same'})
9771 23 1 unless ($data_bar->{'bar_no_border'} or $data_bar->{'bar_negative_border_color_same'})
9777 1 24 if ($data_bar->{'bar_axis_position'} eq 'middle')
9781 1 24 if ($data_bar->{'bar_axis_position'} eq 'none')
9905 1 57 if ($sparkline->{'_date_axis'})
10025 4 54 if (defined $opts->{'_max'})
10027 2 2 if ($opts->{'_max'} eq 'group') { }
10036 4 54 if (defined $opts->{'_min'})
10038 1 3 if ($opts->{'_min'} eq 'group') { }
10049 9 49 if ($opts->{'_type'} ne 'line')
10053 3 55 if $opts->{'_weight'}
10054 1 57 if $opts->{'_date_axis'}
10055 57 1 if $empty
10057 4 54 if $opts->{'_markers'}
10058 4 54 if $opts->{'_high'}
10059 4 54 if $opts->{'_low'}
10060 4 54 if $opts->{'_first'}
10061 4 54 if $opts->{'_last'}
10062 4 54 if $opts->{'_negative'}
10063 1 57 if $opts->{'_axis'}
10064 1 57 if $opts->{'_hidden'}
10065 4 54 if $opts->{'_cust_min'}
10066 4 54 if $opts->{'_cust_max'}
10067 1 57 if $opts->{'_reverse'}
10086 122 342 if defined $color->{'_rgb'}
10087 342 122 if defined $color->{'_theme'}
10088 229 235 if defined $color->{'_tint'}