3
#######################################################################
5
# Example of how to use the Spreadsheet::WriteExcel module to
6
# write 1D and 2D arrays of data.
8
# To find out more about array references refer(!!) to the perlref and
9
# perlreftut manpages. To find out more about 2D arrays or "list of
10
# lists" refer to the perllol manpage.
12
# reverse('�'), March 2002, John McNamara, jmcnamara@cpan.org
17
use Spreadsheet::WriteExcel;
20
my $workbook = Spreadsheet::WriteExcel->new("write_arrays.xls");
21
my $worksheet1 = $workbook->add_worksheet('Example 1');
22
my $worksheet2 = $workbook->add_worksheet('Example 2');
23
my $worksheet3 = $workbook->add_worksheet('Example 3');
24
my $worksheet4 = $workbook->add_worksheet('Example 4');
25
my $worksheet5 = $workbook->add_worksheet('Example 5');
26
my $worksheet6 = $workbook->add_worksheet('Example 6');
27
my $worksheet7 = $workbook->add_worksheet('Example 7');
28
my $worksheet8 = $workbook->add_worksheet('Example 8');
30
my $format = $workbook->add_format(color => 'red', bold => 1);
33
# Data arrays used in the following examples.
34
# undef values are written as blank cells (with format if specified).
36
my @array = ( 'one', 'two', undef, 'four' );
39
['maggie', 'milly', 'molly', 'may' ],
41
['shell', 'star', 'crab', 'stone'],
45
# 1. Write a row of data using an array reference.
46
$worksheet1->write('A1', \@array);
48
# 2. Same as 1. above using an anonymous array ref.
49
$worksheet2->write('A1', [ @array ]);
51
# 3. Write a row of data using an explicit write_row() method call.
52
# This is the same as calling write() in Ex. 1 above.
54
$worksheet3->write_row('A1', \@array);
56
# 4. Write a column of data using the write_col() method call.
57
$worksheet4->write_col('A1', \@array);
59
# 5. Write a column of data using a ref to an array ref, i.e. a 2D array.
60
$worksheet5->write('A1', [ \@array ]);
62
# 6. Write a 2D array in col-row order.
63
$worksheet6->write('A1', \@array2d);
65
# 7. Write a 2D array in row-col order.
66
$worksheet7->write_col('A1', \@array2d);
68
# 8. Write a row of data with formatting. The blank cell is also formatted.
69
$worksheet8->write('A1', \@array, $format);