The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w

###############################################################################
#
# Example of how to use the WriteExcelXML module to write a basic multiple
# worksheet Excel file.
#
# reverse('©'), March 2001, John McNamara, jmcnamara@cpan.org
#

use strict;
use Spreadsheet::WriteExcelXML;

# Create a new Excel workbook
my $workbook = Spreadsheet::WriteExcelXML->new("regions.xls");

die "Couldn't create new Excel file: $!.\n" unless defined $workbook;


# Add some worksheets
my $north = $workbook->add_worksheet("North");
my $south = $workbook->add_worksheet("South");
my $east  = $workbook->add_worksheet("East");
my $west  = $workbook->add_worksheet("West");

# Add a Format
my $format = $workbook->add_format();
$format->set_bold();
$format->set_color('blue');

# Add a caption to each worksheet
foreach my $worksheet ($workbook->sheets()) {
    $worksheet->write(0, 0, "Sales", $format);
}

# Write some data
$north->write(0, 1, 200000);
$south->write(0, 1, 100000);
$east->write (0, 1, 150000);
$west->write (0, 1, 100000);

# Set the active worksheet
$south->activate();

# Set the width of the first column
$south->set_column(0, 0, 20);

# Set the active cell
$south->set_selection(0, 1);