aisa/libs/modules/_FromProd/xlsxcreator.pm

998 lines
30 KiB
Perl
Raw Normal View History

2026-02-03 12:35:43 +00:00
sub xlsxcreator_delete_previous_xlsx {
my ($path) = @_ ;
opendir(DIR, "$path") or die "cant open Directory $path: $!\n";
while(defined($folder = readdir(DIR))) {
if (length $folder > 2) {
my ($file,$type) = split(/\./,$folder) ;
# if ($match) { unless ($file =~ /$match/gi) { next ; } }
# my ($j1,$j2,$accid,$date) = split(/\-/,$file) ;
# if ($match) { unless ($accid eq $match) { next ; } }
if (-e "$path/$file.xlsx"){
unlink ("$path/$file.xlsx") or print "unable to unlink - $path/$file.xlsx : $!";
}
}
}
closedir(DIR) ;
} #------------------------------------------------------------------------------------
sub xlsxcreator_create_xlsx {
my ($file) = @_;
our $workbook = Excel::Writer::XLSX->new($file) or die "ERROR : $file : $!";
} #------------------------------------------------------------------------------------------
sub xlsxcreator_close_xlsx {
$workbook->close();
} #------------------------------------------------------------------------------------------
sub xlsxcreator_hide_gridlines_xlsx {
($worksheet_name) = @_;
$worksheet{$worksheet_name}->hide_gridlines(1);
} #------------------------------------------------------------------------------------------
sub xlsxcreator_set_margins_xlsx {
($worksheet_name,$margin_width) = @_;
$worksheet{$worksheet_name}->set_margins($margin_width); # Set all margins to the same value in inches
} #------------------------------------------------------------------------------------------
sub xlsxcreator_add_worksheet {
my ($worksheet_name) = @_;
$worksheet{$worksheet_name} = $workbook->add_worksheet($worksheet_name);
#$worksheet{$worksheet_name}->add_write_handler(qr[\w], \&xlsxcreator_store_string_widths);
} #------------------------------------------------------------------------------------------
sub xlsxcreator_add_pie_chart {
my ($worksheet_name) = @_;
$chart{$worksheet_name} = $workbook->add_chart( type => 'pie', embedded => 1 );
} #------------------------------------------------------------------------------------------
sub xlsxcreator_merge_xlsx {
my ($worksheet_name,$merge_range,$token,$format) = @_ ;
$worksheet{$worksheet_name}->merge_range($merge_range,$token,$format) ;
} #------------------------------------------------------------------------------------------
sub xlsxcreator_write_xlsx {
my ($worksheet_name,$row,$col,$token,$cellformat) = @_;
$token =~ s/\,//g;
$worksheet{$worksheet_name}->write($row,$col,$token,$cellformat);
#&xlsxcreator_autofit_columns($worksheet{$worksheet_name});
} #------------------------------------------------------------------------------------------
sub xlsxcreator_write_formula {
my ($worksheet_name,$row,$col,$formula,$cellformat) = @_;
$worksheet{$worksheet_name}->write_formula($row,$col,$formula,$cellformat);
} #------------------------------------------------------------------------------------------
sub xlsxcreator_freeze_panes {
my ($worksheet_name,$rows,$cols) = @_;
$worksheet{$worksheet_name}->freeze_panes($rows,$cols); # Freeze the first 5 rows
} #------------------------------------------------------------------------------------------
sub xlsxcreator_insert_image {
my ($worksheet_name,$row,$col,$file,$margin_right,$margin_bottom,$width_scale,$height_scale) = @_;
$height_scale = $width_scale if $width_scale & !$height_scale ;
$worksheet{$worksheet_name}->insert_image($row,$col,$file,$margin_right,$margin_bottom,$width_scale,$height_scale) ;
} #------------------------------------------------------------------------------------------
sub xlsxcreator_write_url {
my ($worksheet_name,$row,$col,$url,$name) = @_;
$worksheet{$worksheet_name}->write_url($row, $col, $url,$name, undef, 'URL') ;
} #------------------------------------------------------------------------------------------
sub xlsxcreator_xlsx_format {
$format1 = $workbook->add_format();
$format1->set_font('Verdana');
$format1->set_size(8);
$format2 = $workbook->add_format();
$format2->copy($format1);
$format2->set_bold(); # Turns bold on
$format2->set_num_format('#,##0.00'); # 1,234.56
$format3 = $workbook->add_format();
$format3->copy($format1);
$format3->set_num_format('#,##0.00'); # 1,234.56
$format4 = $workbook->add_format();
$format4->copy($format1);
$format4->set_bold(); # Turns bold on
$format4->set_num_format('#,##0.00'); # 1,234.56
$format4->set_top('6');
$format4->set_bottom('6');
$format5 = $workbook->add_format();
$format5->copy($format1);
$format5->set_underline(); # Single underline
$format6 = $workbook->add_format();
$format6->copy($format1);
$format6->set_underline(); # Single underline
$format6->set_align('right');
$format7 = $workbook->add_format();
$format7->copy($format1);
$format7->set_align('right');
$format7->set_num_format('#,##0.00'); # 1,234.56
$format8 = $workbook->add_format();
$format8->copy($format1);
$format8->set_bold(); # Turns bold on
$format8->set_align('left');
$format8->set_num_format('#,##0.00'); # 1,234.56
$format9 = $workbook->add_format();
$format9->copy($format1);
$format9->set_bold(); # Turns bold on
$format9->set_align('right');
$format9->set_num_format('#,##0.00'); # 1,234.56
$format10 = $workbook->add_format();
$format10->copy($format1);
$format10->set_align('left');
$format11 = $workbook->add_format();
$format11->copy($format1);
$format11->set_align('center');
$format11->set_bg_color(0x16); #0x08 = 'black' ; #0x0C = 'blue' ; #0x10 = 'brown' ; #0x0F = 'cyan' ; #0x17 = 'gray' ; #0x11 = 'green' ; #0x0B = 'lime' ; #0x0E = 'magenta' ; #0x12 = 'navy' ; #0x35 = 'orange' ; #0x21 = 'pink' ; #0x14 = 'purple' ; #0x0A = 'red' ; #0x16 = 'silver' ; #0x09 = 'white' ; #0x0D = 'yellow' ;
$format11->set_top('1');
$format11->set_bottom('1');
$format11->set_left('1');
$format11->set_right('1');
$format12 = $workbook->add_format();
$format12->set_bg_color(0x16);
$format12->set_top('1');
$format12->set_bottom('1');
$format12->set_left('1');
$format12->set_right('1');
$format13 = $workbook->add_format();
$format13->copy($format1);
$format13->set_bg_color(0x16);
$format13->set_num_format('#,##0.00'); # 1,234.56
$format13->set_top('1');
$format13->set_bottom('1');
$format13->set_left('1');
$format13->set_right('1');
$format14 = $workbook->add_format();
$format14->copy($format1);
$format14->set_bold(); # Turns bold on
$format14->set_bg_color(0x16);
$format14->set_top('1');
$format14->set_bottom('1');
$format14->set_left('1');
$format14->set_right('1');
$format15 = $workbook->add_format();
$format15->copy($format1);
$format15->set_align('right');
$format15->set_num_format('#,##0.00'); # 1,234.56
$format15->set_top('1');
$format15->set_bottom('1');
$format15->set_left('1');
$format15->set_right('1');
$format16 = $workbook->add_format();
$format16->copy($format1);
$format16->set_bg_color(0x16);
$format16->set_num_format('#,##0.0000'); # 1,234.56
$format16->set_top('1');
$format16->set_bottom('1');
$format16->set_left('1');
$format16->set_right('1');
$format17 = $workbook->add_format();
$format17->copy($format1);
$format17->set_align('right');
$format17->set_bg_color(0x16);
$format17->set_num_format('#,##0.00'); # 1,234.56
$format17->set_top('1');
$format17->set_bottom('1');
$format17->set_left('1');
$format17->set_right('1');
$format18 = $workbook->add_format();
$format18->copy($format1);
$format18->set_bold();
$format18->set_align('center');
$format19 = $workbook->add_format();
$format19->copy($format1);
$format19->set_num_format('#,##0.00'); # 1,234.56
$format19->set_top('1');
$format19->set_bottom('6');
$format20 = $workbook->add_format();
$format20->copy($format1);
$format20->set_align('center');
$format20->set_num_format(0x0a); #0.00% (0x09 = 0%)
$format21 = $workbook->add_format();
$format21->copy($format1);
$format21->set_align('right');
$format22 = $workbook->add_format();
$format22->copy($format1);
$format22->set_bold(); # Turns bold on
$format22->set_align('right');
$format22->set_bg_color(0x16);
$format22->set_num_format('#,##0.00'); # 1,234.56
$format23 = $workbook->add_format();
$format23->copy($format1);
$format23->set_bold(); # Turns bold on
$format23->set_color(0x0A); # red
$format24 = $workbook->add_format();
$format24->copy($format1);
$format24->set_top('2');
$format25 = $workbook->add_format();
$format25->copy($format1);
$format25->set_bottom('3');
$format26 = $workbook->add_format();
$format26->copy($format1);
$format26->set_bold(); # Turns bold on
$format26->set_align('left');
$format27 = $workbook->add_format();
$format27->copy($format1);
$format27->set_bold(); # Turns bold on
$format27->set_align('right');
$format28 = $workbook->add_format();
$format28->set_underline(2); # Single underline
$format29 = $workbook->add_format();
$format29->set_font('Verdana');
$format29->set_size(5);
$format30 = $workbook->add_format();
$format30->set_font('Verdana');
$format30->set_size(7);
$format31 = $workbook->add_format();
$format31->set_font('Verdana');
$format31->set_size(4);
$format31->set_align('right');
$format32 = $workbook->add_format();
$format32->set_font('Verdana');
$format32->set_size(6);
$format33 = $workbook->add_format();
$format33->copy($format10);
$format34 = $workbook->add_format();
$format34->copy($format1);
$format34->set_border(1);
$format35 = $workbook->add_format();
$format35->copy($format10);
$format35->set_text_wrap();
$format35->set_border(1);
my $light_blue = $workbook->set_custom_color(40,'#D5FFFF');
$format36 = $workbook->add_format();
$format36->copy($format8);
$format36->set_bg_color($light_blue);
$format37 = $workbook->add_format();
$format37->copy($format10);
$format37->set_bg_color($light_blue);
$format38 = $workbook->add_format();
$format38->copy($format1);
$format38->set_align('center');
$format38->set_bg_color($light_blue);
$format39 = $workbook->add_format();
$format39->copy($format1);
$format39->set_bg_color($light_blue);
my $light_grey = $workbook->set_custom_color(41,'#c6c6c6');
$format40 = $workbook->add_format();
$format40->copy($format1);
$format40->set_align('center');
$format40->set_bg_color($light_grey);
$format40->set_border(1);
my $very_light_grey = $workbook->set_custom_color(42,'#EEEEEE');
$format41 = $workbook->add_format();
$format41->copy($format10);
$format41->set_bg_color($very_light_grey);
$format41->set_border(1);
$format41->set_italic();
# merged
$format42 = $workbook->add_format();
$format42->copy($format40);
$format43 = $workbook->add_format();
$format43->copy($format38);
$format43->set_border(1);
$format44 = $workbook->add_format();
$format44->copy($format41);
$format44->set_bg_color(0x09);
$format45 = $workbook->add_format();
$format45->set_font('Verdana');
$format45->set_size(10);
my $green = $workbook->set_custom_color(43,'#00b050');
$format46 = $workbook->add_format();
$format46->set_align('center');
$format46->copy($format45);
$format46->set_bg_color($green);
my $light_blue_1 = $workbook->set_custom_color(44,'#b8cce4');
$format47 = $workbook->add_format();
$format47->copy($format45);
$format47->set_bg_color($light_blue_1);
$format47->set_border(1);
$format47->set_border_color(0x09);
my $very_light_blue = $workbook->set_custom_color(45,'#dce6f1');
$format48 = $workbook->add_format();
$format48->copy($format47);
$format48->set_bg_color($very_light_blue);
$format49 = $workbook->add_format();
$format49->set_font('Arial');
$format49->set_size(12);
$format49->set_bold();
$format50 = $workbook->add_format();
$format50->set_font('Arial');
$format50->set_size(10);
$format50->set_bold();
$format51 = $workbook->add_format();
$format51->set_font('Arial');
$format51->set_size(9);
#-------------------------------------------------------- red highlighting
my $hred = $workbook->set_custom_color(46,'#ff0000');
#40
$format52 = $workbook->add_format();
$format52->copy($format1);
$format52->set_align('center');
$format52->set_bg_color($light_grey);
$format52->set_border(1);
$format52->set_color($hred); # red
#42
$format53 = $workbook->add_format();
$format53->copy($format52);
$format53->set_color($hred); # red
#35
$format54 = $workbook->add_format();
$format54->copy($format10);
$format54->set_text_wrap();
$format54->set_border(1);
$format54->set_color($hred); # red
#41
$format55 = $workbook->add_format();
$format55->copy($format10);
$format55->set_bg_color($very_light_grey);
$format55->set_border(1);
$format55->set_italic();
$format55->set_color($hred); # red
#34
$format56 = $workbook->add_format();
$format56->copy($format1);
$format56->set_border(1);
$format56->set_color($hred); # red
#---------------------------------------------------
$format57 = $workbook->add_format();
$format57->copy($format1);
$format57->set_top('1');
$format57->set_bottom('6');
$format58 = $workbook->add_format();
$format58->copy($format1);
$format58->set_top('1');
$format58->set_bottom('6');
$format58->set_bold();
$format58->set_align('center');
my $ttl_light_blue = $workbook->set_custom_color(47,'#DAEEF3');
$format59 = $workbook->add_format();
$format59->copy($format40);
$format59->set_bg_color($ttl_light_blue);
$format59->set_bold();
$format60 = $workbook->add_format();
$format60->copy($format18);
$format60->set_bg_color($ttl_light_blue);
$format60->set_border(1);
my $ttl_light_green = $workbook->set_custom_color(48,'#EBF1DE');
$format61 = $workbook->add_format();
$format61->copy($format40);
$format61->set_bg_color($ttl_light_green);
$format61->set_bold();
$format62 = $workbook->add_format();
$format62->copy($format18);
$format62->set_bg_color($ttl_light_green);
$format62->set_border(1);
my $ttl_light_orange = $workbook->set_custom_color(49,'#FDE9D9');
$format63 = $workbook->add_format();
$format63->copy($format40);
$format63->set_bg_color($ttl_light_orange);
$format63->set_bold();
$format64 = $workbook->add_format();
$format64->copy($format18);
$format64->set_bg_color($ttl_light_orange);
$format64->set_border(1);
$format65 = $workbook->add_format();
$format65->copy($format40);
$format65->set_align('vcenter');
$format66 = $workbook->add_format();
$format66->copy($format42);
$format66->set_align('vcenter');
$format67 = $workbook->add_format();
$format67->copy($format19);
$format67->set_bold();
$format68 = $workbook->add_format();
$format68->copy($format49);
$format68->set_bold();
$format68->set_text_wrap() ;
$format68->set_align('vcenter');
$format68->set_align('center');
my $ttl_light_yellow = $workbook->set_custom_color(50,'#FFFFB7');
$format69 = $workbook->add_format();
$format69->copy($format40);
$format69->set_bg_color($ttl_light_yellow);
$format69->set_bold();
$format70 = $workbook->add_format();
$format70->copy($format18);
$format70->set_bg_color($ttl_light_yellow);
$format70->set_border(1);
$format71 = $workbook->add_format();
$format71->copy($format23);
$format71->set_bg_color($ttl_light_yellow);
$format72 = $workbook->add_format();
$format72->copy($format3);
$format72->set_bg_color($ttl_light_yellow);
$format73 = $workbook->add_format();
$format73->copy($format1);
$format73->set_bg_color($ttl_light_yellow);
$format74 = $workbook->add_format();
$format74->copy($format69);
$format74->set_bold();
$format74->set_text_wrap() ;
$format74->set_align('vcenter');
$format74->set_align('center');
$format75 = $workbook->add_format();
$format75->copy($format40);
$format75->set_bold();
$format75->set_text_wrap() ;
$format75->set_align('vcenter');
$format75->set_align('center');
$format76 = $workbook->add_format();
$format76->copy($format1);
$format76->set_text_wrap() ;
# $format76->set_bold();
$format76->set_align('right');
our $format_event_heading = $workbook -> add_format() ;
$format_event_heading -> set_size(20) ;
$format_event_heading -> set_align('center') ;
$format_event_heading -> set_valign('vcenter') ;
$format_event_heading -> set_bottom('2') ;
$format_event_heading -> set_bold() ;
our $format_event_heading_2 = $workbook -> add_format() ;
$format_event_heading_2 -> set_size(12) ;
$format_event_heading_2 -> set_align('center') ;
$format_event_heading_2 -> set_valign('vcenter') ;
$format_event_heading_2 -> set_bottom('2') ;
$format_event_heading_2 -> set_underline() ;
$format_event_heading_2 -> set_bold() ;
our $format_event_data = $workbook -> add_format() ;
$format_event_data -> set_size(11) ;
$format_event_data -> set_align('center') ;
$format_event_data -> set_valign('vcenter') ;
our $format_event_data_2 = $workbook -> add_format() ;
$format_event_data_2 -> copy($format_event_data) ;
$format_event_data_2 -> set_bottom('1') ;
our $format_empty_row = $workbook -> add_format() ;
$format_empty_row -> set_bottom('1') ;
our $format_management_report_totals = $workbook -> add_format() ;
$format_management_report_totals -> set_size(11) ;
$format_management_report_totals -> set_align('center') ;
$format_management_report_totals -> set_valign('vcenter') ;
$format_management_report_totals -> set_top(6) ;
$format_management_report_totals -> set_num_format('#,##0.00');
$format_management_report_totals -> set_bold() ;
our $format_management_report_totals_2 = $workbook -> add_format() ;
$format_management_report_totals_2 -> copy($format_management_report_totals);
$format_management_report_totals_2 -> set_num_format('#,##0');
our $format_management_report_total = $workbook -> add_format() ;
$format_management_report_total -> set_size(11) ;
$format_management_report_total -> set_bold() ;
$format_management_report_total -> set_align('right') ;
$format_management_report_total -> set_valign('vcenter') ;
our $format_management_report_data = $workbook -> add_format() ;
$format_management_report_data -> set_size(10) ;
$format_management_report_data -> set_num_format('#,##0.00');
$format_management_report_data -> set_align('center') ;
$format_management_report_data -> set_valign('vcenter') ;
our $format_management_report_data_ref_nr = $workbook -> add_format() ;
$format_management_report_data_ref_nr -> set_size(10) ;
$format_management_report_data_ref_nr -> set_align('center') ;
$format_management_report_data_ref_nr -> set_valign('vcenter') ;
our $format_management_report_months= $workbook -> add_format() ;
$format_management_report_months -> set_size(10) ;
$format_management_report_months -> set_align('right') ;
$format_management_report_months -> set_valign('vcenter') ;
our $format_management_report_months_2 = $workbook -> add_format() ;
$format_management_report_months_2 -> set_size(10) ;
$format_management_report_months_2 -> set_align('left') ;
$format_management_report_months_2 -> set_valign('vcenter') ;
our $format_management_report_headings = $workbook -> add_format() ;
$format_management_report_headings -> set_size(11) ;
$format_management_report_headings -> set_align('center') ;
$format_management_report_headings -> set_valign('vcenter') ;
$format_management_report_headings -> set_bold() ;
$format_management_report_headings -> set_border(1) ;
$format_management_report_headings -> set_bg_color('#B6D7A8') ;
$format_management_report_headings -> set_text_wrap() ;
our $format_management_report_title = $workbook -> add_format() ;
$format_management_report_title -> set_bold() ;
$format_management_report_title -> set_size(16) ;
$format_management_report_title -> set_align('left') ;
$format_management_report_title -> set_valign('vcenter') ;
my $light_blue_bg = $workbook -> set_custom_color(51,'#51CBF2');
$format77 = $workbook -> add_format() ;
$format77 -> copy($format_event_data) ;
$format77 -> set_bottom('1') ;
$format77 -> set_left('1') ;
$format77 -> set_right('1') ;
$format77 -> set_bg_color($light_blue_bg) ;
my $yellow_bg = $workbook -> set_custom_color(52,'#F6E305');
$format78 = $workbook -> add_format() ;
$format78 -> copy($format77) ;
$format78 -> set_bg_color($yellow_bg) ;
my $green_bg = $workbook -> set_custom_color(53,'#51B529');
$format80 = $workbook -> add_format() ;
$format80 -> copy($format77) ;
$format80 -> set_bg_color($green_bg) ;
my $orange_bg = $workbook -> set_custom_color(54,'#F4BC14');
$format79 = $workbook -> add_format() ;
$format79 -> copy($format77) ;
$format79 -> set_bg_color($orange_bg) ;
my $red_bg = $workbook -> set_custom_color(55,'#F90D0D');
$format81 = $workbook -> add_format() ;
$format81 -> copy($format77) ;
$format81 -> set_bg_color($red_bg) ;
$format82 = $workbook -> add_format() ;
$format82 -> copy($format_event_data) ;
$format82 -> set_align('left') ;
my $slight_green = $workbook -> set_custom_color(56,'#E4EDD8');
# $format_management_report_headings -> set_bg_color($slight_green) ;
$format83 = $workbook -> add_format() ;
$format83 -> set_bg_color($slight_green) ;
$format83 -> set_bottom('1') ;
$format83 -> set_right('1') ;
$format83 -> set_bold() ;
$format83 -> set_size(12) ;
$format83 -> set_align('left') ;
$format83 -> set_valign('vcenter') ;
$format84 = $workbook -> add_format() ;
$format84 -> set_bottom('1') ;
$format84 -> set_right('1') ;
$format84 -> set_size(10) ;
$format84 -> set_align('left') ;
$format84 -> set_valign('vcenter') ;
$format85 = $workbook -> add_format() ;
$format85 -> copy($format84) ;
$format85 -> set_align('right') ;
$format86 = $workbook -> add_format() ;
$format86 -> copy($format85) ;
$format87 = $workbook -> add_format() ;
$format87 -> copy($format85) ;
my $dark_green_font = $workbook -> set_custom_color(57,'#2D6F4B');
# my $light_green_bg = $workbook -> set_custom_color(58,'#D5EDBB');
my $light_green_bg = $workbook -> set_custom_color(58,'#51B529');
my $dark_blue_font = $workbook -> set_custom_color(59,'#1D4D7E');
# my $light_blue_bg = $workbook -> set_custom_color(60,'#C0E0F5');
my $light_blue_bg = $workbook -> set_custom_color(60,'#FFA500');
# my $dark_reb_bg = $workbook -> set_custom_color(61,'#AD0502');
my $dark_reb_bg = $workbook -> set_custom_color(61,'#F90D0D');
my $light_red_font = $workbook -> set_custom_color(62,'#E1B5B4');
my $light_grey_bg = $workbook -> set_custom_color(63,'#E9EAEC');
# my $pubple_border_color = $workbook -> set_custom_color(64,'#8B1D5F');
# my $dark_green_font = $workbook -> set_custom_color(57,'#2D6F4B');
# my $light_green_bg = $workbook -> set_custom_color(58,'#D5EDBB');
# my $dark_blue_font = $workbook -> set_custom_color(59,'#1D4D7E');
# my $light_blue_bg = $workbook -> set_custom_color(60,'#C0E0F5');
# my $dark_reb_bg = $workbook -> set_custom_color(61,'#AD0502');
# my $light_red_font = $workbook -> set_custom_color(62,'#E1B5B4');
# my $light_grey_bg = $workbook -> set_custom_color(63,'#E9EAEC');
# my $pubple_border_color = $workbook -> set_custom_color(64,'#8B1D5F');
$format88 = $workbook -> add_format() ;
$format88 -> copy($format84) ;
$format88 -> set_bg_color($light_green_bg) ;
# $format88 -> set_custom_color('#2D6F4B') ;
$format89 = $workbook -> add_format() ;
$format89 -> copy($format84) ;
$format89 -> set_bg_color($light_blue_bg) ;
$format90 = $workbook -> add_format() ;
$format90 -> copy($format84) ;
$format90 -> set_bg_color($dark_reb_bg) ;
$format91 = $workbook -> add_format() ;
$format91 -> copy($format84) ;
$format91 -> set_bg_color($light_grey_bg) ;
$format92 = $workbook -> add_format() ;
$format92 -> copy($format84) ;
$format92 -> set_border(1);
my $lgreen_heading_bg = $workbook -> set_custom_color(64,'#E2EEDA');
$format93 = $workbook -> add_format() ;
$format93 -> copy($format84) ;
$format93 -> set_top('1') ;
$format93 -> set_bold() ;
$format93 -> set_size(12) ;
$format93 -> set_bg_color($light_green_bg) ;
# my $green_bg = $workbook -> set_custom_color(65,'#009624');
# my $yellow_bg = $workbook -> set_custom_color(66,'#FFF000');
# my $red_bg = $workbook -> set_custom_color(67,'#AD0502');
$format94 = $workbook -> add_format() ;
$format94 -> copy($format84) ;
$format94 -> set_bg_color($green_bg) ;
$format95 = $workbook -> add_format() ;
$format95 -> copy($format84) ;
$format95 -> set_bg_color($yellow_bg) ;
$format96 = $workbook -> add_format() ;
$format96 -> copy($format84) ;
$format96 -> set_bg_color($red_bg) ;
$format97 = $workbook -> add_format() ;
$format97 -> copy($format84) ;
$format97 -> set_top(6) ;
$format97 -> set_bottom(6) ;
$format97 -> set_italic() ;
$format98 = $workbook->add_format() ;
$format98 -> copy($format8) ;
$format98 -> set_align('vcenter') ;
$format99 = $workbook->add_format();
$format99 -> copy($format7);
$format99 -> set_num_format('#,##0'); # 1,234.56
$format100 = $workbook->add_format();
$format100 -> copy($format_management_report_headings);
$format100 -> set_bg_color('#FFFF00') ;
$format101 = $workbook -> add_format();
$format101 -> copy($format_management_report_headings);
$format101 -> set_bg_color('#F9CB9C') ;
# my $purple_bg = $workbook -> set_custom_color(66,'#CA0AD3');
$format102 = $workbook -> add_format() ;
$format102 -> copy($format77) ;
$format102 -> set_bg_color('#CA0AD3') ;
$format103 = $workbook -> add_format() ;
$format103 -> copy($format77) ;
$format103 -> set_bg_color('#164473') ;
$format104 = $workbook -> add_format() ;
$format104 -> copy($format77) ;
$format104 -> set_bg_color('#A349A4') ;
$format105 = $workbook -> add_format() ;
$format105 -> copy($format77) ;
$format105 -> set_bg_color('#5D09D3') ;
$format106 = $workbook -> add_format() ;
$format106 -> copy($format77) ;
$format106 -> set_bg_color('#5D092C') ;
$format107 = $workbook -> add_format() ; #ANALYTICS EVENT
$format107 -> copy($format77) ;
$format107 -> set_bg_color('#A05000') ;
$format108 = $workbook -> add_format() ; #DEMO EVENT
$format108 -> copy($format77) ;
$format108 -> set_bg_color('#FF40FF') ;
$format109 = $workbook->add_format() ;
$format109 -> copy($format1) ;
$format109 -> set_bold() ;
$format109 -> set_size(12) ;
$format110 = $workbook->add_format() ;
$format110 -> copy($format1) ;
$format110 -> set_bold() ;
$format110 -> set_size(10) ;
$format110 -> set_bg_color('#DEECFF') ; #blue
$format110 -> set_color('#037AFE') ; #blue
$format111 = $workbook->add_format() ;
$format111 -> copy($format110) ;
$format111 -> set_bg_color('#FFE1E6') ; #red
$format111 -> set_color('#FE2D55') ; #red
$format112 = $workbook->add_format() ;
$format112 -> copy($format110) ;
$format112 -> set_bg_color('#E3F8F6') ; #lightbluie
$format112 -> set_color('#00C8BE') ; #lightbluie
$format113 = $workbook->add_format() ;
$format113 -> copy($format110) ;
$format113 -> set_bg_color('#FFF0E0') ; #orange
$format113 -> set_color('#FF9502') ; #orange
$format113 -> set_size(8) ;
$format114 = $workbook->add_format() ;
$format114 -> copy($format113) ;
$format114 -> set_bold('0') ;
$format115 = $workbook->add_format() ;
$format115 -> copy($format1) ;
$format115 -> set_bold() ;
# FF9502
$format116 = $workbook->add_format() ;
$format116 -> copy($format113) ;
$format116 -> set_bold() ;
$format116 -> set_size(10) ;
$format117 = $workbook->add_format() ;
$format117 -> copy($format1) ;
$format117 -> set_bold() ;
$format117 -> set_size(12) ;
$format118 = $workbook->add_format() ;
$format118 -> copy($format117) ;
$format118 -> set_size(10) ;
$format119 = $workbook->add_format() ;
$format119 -> copy($format1) ;
$format119 -> set_size(10) ;
$format119 -> set_top(1) ;
$format119 -> set_bottom(6) ;
$format119 -> set_num_format('#,##0.00');
$format120 = $workbook->add_format() ;
$format120 -> copy($format1) ;
$format120 -> set_size(8) ;
$format120 -> set_num_format('#,##0.00');
$format121 = $workbook->add_format() ;
$format121 -> copy($format1) ;
$format121 -> set_bottom(1) ;
$format122 = $workbook->add_format() ;
$format122 -> copy($format1) ;
$format122 -> set_left(1) ;
# my $other_green = $workbook -> set_custom_color(100,'#B6D7A8');
# $format_management_report_headings -> set_bg_color($lgreen_heading_bg) ;
# $format92 -> set_border_color(0x0A) ;
# $format92 -> set_border_color($pubple_border_color) ;
# set_font_strikethrough
# $format86 -> strikeout('1');
# $format87 = $workbook -> add_format() ;
# $format87 -> set_bottom('1') ;
# $format87 -> set_right('1') ;
# $format87 -> set_size(10) ;
# $format87 -> set_align('right') ;
# $format87 -> set_valign('vcenter') ;
# $format87 -> set_font_strikethrough('1');
} #------------------------------------------------------------------------------------------
sub xlsxcreator_set_column_width {
my ($worksheet_name,$from,$to,$width) = @_;
$worksheet{$worksheet_name}->set_column("$from".":"."$to", $width);
} #------------------------------------------------------------------------------------------
sub xlsxcreator_autofit_columns {
my $worksheet = shift;
my $col = 0;
for my $width (@{$worksheet->{__col_widths}}) {
$worksheet->set_column($col, $col, $width) if $width;
$col++;
}
} #------------------------------------------------------------------------------------------
# The following function is a callback that was added via add_write_handler()
# above. It modifies the write() function so that it stores the maximum
# unwrapped width of a string in a column.
sub xlsxcreator_store_string_widths {
my $worksheet = shift;
my $col = $_[1];
my $token = $_[2];
# Ignore some tokens that we aren't interested in.
return if not defined $token; # Ignore undefs.
return if $token eq ''; # Ignore blank cells.
return if ref $token eq 'ARRAY'; # Ignore array refs.
return if $token =~ /^=/; # Ignore formula
# Ignore numbers
#return if $token =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/;
# Ignore various internal and external hyperlinks. In a real scenario
# you may wish to track the length of the optional strings used with
# urls.
return if $token =~ m{^[fh]tt?ps?://};
return if $token =~ m{^mailto:};
return if $token =~ m{^(?:in|ex)ternal:};
# We store the string width as data in the Worksheet object. We use
# a double underscore key name to avoid conflicts with future names.
#
my $old_width = $worksheet->{__col_widths}->[$col];
my $string_width = xlsxcreator_string_width($token);
if (not defined $old_width or $string_width > $old_width) {
# You may wish to set a minimum column width as follows.
#return undef if $string_width < 10;
$worksheet->{__col_widths}->[$col] = $string_width;
}
# Return control to write();
return undef;
} #------------------------------------------------------------------------------------------
# Very simple conversion between string length and string width for Arial 10.
# See below for a more sophisticated method.
sub xlsxcreator_string_width {
return 1.2 * length $_[0];
} #------------------------------------------------------------------------------------------
1;