File: write_arrays.pl

package info (click to toggle)
spreadsheet-writeexcel 0.36-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,344 kB
  • ctags: 400
  • sloc: perl: 5,749; makefile: 52
file content (70 lines) | stat: -rw-r--r-- 2,354 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/perl -w

#######################################################################
#
# Example of how to use the Spreadsheet::WriteExcel module to
# write 1D and 2D arrays of data.
#
# To find out more about array references refer(!!) to the perlref and
# perlreftut manpages. To find out more about 2D arrays or "list of
# lists" refer to the perllol manpage.
#
# reverse(''), March 2002, John McNamara, jmcnamara@cpan.org
#


use strict;
use Spreadsheet::WriteExcel;


my $workbook   = Spreadsheet::WriteExcel->new("write_arrays.xls");
my $worksheet1 = $workbook->addworksheet('Example 1');
my $worksheet2 = $workbook->addworksheet('Example 2');
my $worksheet3 = $workbook->addworksheet('Example 3');
my $worksheet4 = $workbook->addworksheet('Example 4');
my $worksheet5 = $workbook->addworksheet('Example 5');
my $worksheet6 = $workbook->addworksheet('Example 6');
my $worksheet7 = $workbook->addworksheet('Example 7');
my $worksheet8 = $workbook->addworksheet('Example 8');

my $format     = $workbook->addformat(color => 'red', bold => 1);


# Data arrays used in the following examples.
# undef values are written as blank cells (with format if specified).
#
my @array   =   ( 'one', 'two', undef, 'four' );

my @array2d =   (
                    ['maggie', 'milly', 'molly', 'may'  ],
                    [13,       14,      15,      16     ],
                    ['shell',  'star',  'crab',  'stone'],
                );


# 1. Write a row of data using an array reference.
$worksheet1->write('A1', \@array);

# 2. Same as 1. above using an anonymous array ref.
$worksheet2->write('A1', [ @array ]);

# 3. Write a row of data using an explicit write_row() method call.
#    This is the same as calling write() in Ex. 1 above.
#
$worksheet3->write_row('A1', \@array);

# 4. Write a column of data using the write_col() method call.
$worksheet4->write_col('A1', \@array);

# 5. Write a column of data using a ref to an array ref, i.e. a 2D array.
$worksheet5->write('A1', [ \@array ]);

# 6. Write a 2D array in col-row order.
$worksheet6->write('A1', \@array2d);

# 7. Write a 2D array in row-col order.
$worksheet7->write_col('A1', \@array2d);

# 8. Write a row of data with formatting. The blank cell is also formatted.
$worksheet8->write('A1', \@array, $format);