3
########################################################################
5
# Example of formatting using the Spreadsheet::WriteExcel module via
8
# Setting format properties via hashes of values is useful when you have
9
# to deal with a large number of similar formats. Consider for example a
10
# chess board pattern with black squares, white unformatted squares and
11
# a border. This relatively simple example requires 14 separate Format
12
# objects although there are only 5 different properties: black
13
# background, top border, bottom border, left border and right border.
14
# Using property hashes it is possible to define these 5 sets of
15
# properties and then add them together to create the 14 Format
19
# reverse('�'), July 2001, John McNamara, jmcnamara@cpan.org
23
use Spreadsheet::WriteExcel;
25
my $workbook = Spreadsheet::WriteExcel->new("chess.xls");
26
my $worksheet = $workbook->add_worksheet();
29
# Some row and column formatting
30
$worksheet->set_column('B:I', 10);
33
$worksheet->set_row($i, 50);
37
# Define the property hashes
40
'fg_color' => 'black',
44
my %top = ( 'top' => 6 );
45
my %bottom = ( 'bottom' => 6 );
46
my %left = ( 'left' => 6 );
47
my %right = ( 'right' => 6 );
52
my $format01 = $workbook->add_format(%top, %left );
53
my $format02 = $workbook->add_format(%top, %black );
54
my $format03 = $workbook->add_format(%top, );
55
my $format04 = $workbook->add_format(%top, %right, %black );
57
my $format05 = $workbook->add_format(%left );
58
my $format06 = $workbook->add_format(%black );
59
my $format07 = $workbook->add_format( );
60
my $format08 = $workbook->add_format(%right, %black );
61
my $format09 = $workbook->add_format(%right );
62
my $format10 = $workbook->add_format(%left, %black );
64
my $format11 = $workbook->add_format(%bottom, %left, %black );
65
my $format12 = $workbook->add_format(%bottom );
66
my $format13 = $workbook->add_format(%bottom, %black );
67
my $format14 = $workbook->add_format(%bottom, %right );
71
$worksheet->write('B2', '', $format01);
72
$worksheet->write('C2', '', $format02);
73
$worksheet->write('D2', '', $format03);
74
$worksheet->write('E2', '', $format02);
75
$worksheet->write('F2', '', $format03);
76
$worksheet->write('G2', '', $format02);
77
$worksheet->write('H2', '', $format03);
78
$worksheet->write('I2', '', $format04);
80
$worksheet->write('B3', '', $format10);
81
$worksheet->write('C3', '', $format07);
82
$worksheet->write('D3', '', $format06);
83
$worksheet->write('E3', '', $format07);
84
$worksheet->write('F3', '', $format06);
85
$worksheet->write('G3', '', $format07);
86
$worksheet->write('H3', '', $format06);
87
$worksheet->write('I3', '', $format09);
89
$worksheet->write('B4', '', $format05);
90
$worksheet->write('C4', '', $format06);
91
$worksheet->write('D4', '', $format07);
92
$worksheet->write('E4', '', $format06);
93
$worksheet->write('F4', '', $format07);
94
$worksheet->write('G4', '', $format06);
95
$worksheet->write('H4', '', $format07);
96
$worksheet->write('I4', '', $format08);
98
$worksheet->write('B5', '', $format10);
99
$worksheet->write('C5', '', $format07);
100
$worksheet->write('D5', '', $format06);
101
$worksheet->write('E5', '', $format07);
102
$worksheet->write('F5', '', $format06);
103
$worksheet->write('G5', '', $format07);
104
$worksheet->write('H5', '', $format06);
105
$worksheet->write('I5', '', $format09);
107
$worksheet->write('B6', '', $format05);
108
$worksheet->write('C6', '', $format06);
109
$worksheet->write('D6', '', $format07);
110
$worksheet->write('E6', '', $format06);
111
$worksheet->write('F6', '', $format07);
112
$worksheet->write('G6', '', $format06);
113
$worksheet->write('H6', '', $format07);
114
$worksheet->write('I6', '', $format08);
116
$worksheet->write('B7', '', $format10);
117
$worksheet->write('C7', '', $format07);
118
$worksheet->write('D7', '', $format06);
119
$worksheet->write('E7', '', $format07);
120
$worksheet->write('F7', '', $format06);
121
$worksheet->write('G7', '', $format07);
122
$worksheet->write('H7', '', $format06);
123
$worksheet->write('I7', '', $format09);
125
$worksheet->write('B8', '', $format05);
126
$worksheet->write('C8', '', $format06);
127
$worksheet->write('D8', '', $format07);
128
$worksheet->write('E8', '', $format06);
129
$worksheet->write('F8', '', $format07);
130
$worksheet->write('G8', '', $format06);
131
$worksheet->write('H8', '', $format07);
132
$worksheet->write('I8', '', $format08);
134
$worksheet->write('B9', '', $format11);
135
$worksheet->write('C9', '', $format12);
136
$worksheet->write('D9', '', $format13);
137
$worksheet->write('E9', '', $format12);
138
$worksheet->write('F9', '', $format13);
139
$worksheet->write('G9', '', $format12);
140
$worksheet->write('H9', '', $format13);
141
$worksheet->write('I9', '', $format14);