Examples

Example scripts are supplied in the examples directory. Below you'll find 2 examples. More will be added later when new features are added.

Example 1:
#!/usr/bin/perl

use strict;
use warnings;
use OpenOffice::OOCBuilder;

# - start sxc document
my $sheet=new OpenOffice::OOCBuilder();

# - Set Meta.xml data
$sheet->set_title ('Test document for OOCBuilder');
$sheet->set_author ('Stefan Loones');
$sheet->set_subject ('How to use OOCBuilder & parent class OOBuilder');
$sheet->set_comments ('Fill in your comments here');
$sheet->set_keywords ('openoffice autogeneration', 'OpenOffice::OOBuilder');
$sheet->push_keywords ('OpenOffice::OOCBuilder');
$sheet->set_meta (1, 'name 1', 'value 1');

# - Set name of first sheet
$sheet->set_sheet_name ('MySheet_1',1);
# - Set some data
# columns can be in numbers or letters
$sheet->set_data_xy (1, 1, 'cell A1');
$sheet->set_data_xy ('C', 2, 'cell C2');
$sheet->goto_cell ('F8');
$sheet->set_data ('cell F8');

# numerique values
$sheet->set_data_xy ('D', 1, 12.25, 'float');
$sheet->set_data_xy ('D', 2, 9.13, 'float');

# formula and style blue & bold
$sheet->set_bold (1);
$sheet->set_txtcolor('blue');
$sheet->set_data_xy ('D', 3, '=SUM(D1:D2)', 'formula');

# - reset style
$sheet->set_bold (0);
$sheet->set_txtcolor('black');

# - go down 5 rows
$sheet->move_cell ('down', 5);
$sheet->set_data ('5 rows down');

# - add another sheet, select it, name it, and put data in it
$sheet->add_sheet;
$sheet->goto_sheet (2);
$sheet->set_sheet_name ('MySheet_2');
$sheet->set_italic (1);
$sheet->set_data_xy (1, 1, 'sheet 2 cell A1');
$sheet->set_italic (0);

$sheet->generate ('example1');
print "example1.sxc generated\n";
exit;

Example 2:
#!/usr/bin/perl

use strict;
use warnings;
use OpenOffice::OOCBuilder;

my @figures=(12.25,9.66,9.43,2.67,15.96,45.68,75.32,0.56,65.81);

# - start sxc document
my $sheet=new OpenOffice::OOCBuilder();

# - set title column B
$sheet->set_bold (1);
$sheet->set_align('right');
$sheet->set_fontsize(12);
$sheet->set_data_xy ('B', 1, 'VALUES');

# - reset style
$sheet->set_bold (0);
$sheet->set_align('left');
$sheet->set_fontsize(10);

$sheet->goto_xy ('B',2);
$sheet->set_auto_xy (0,1);   # go 1 row down after each data input

my ($cell1, $cell2);
$cell1=$sheet->get_cell_id;  # we'll need this to create a formula

foreach $_ (@figures) {
  $sheet->set_data ($_, 'float');
}
$cell2=$sheet->get_cell_id;
$sheet->cell_update;      # following auto_xy : go 1 row down 
                          #  now without data input

$sheet->set_txtcolor('blue');
$sheet->set_bgcolor('ffff00');
$sheet->set_bold(1);
$sheet->set_data ("=SUM($cell1:$cell2)", 'formula');
$sheet->generate ('example2');
print "example2.sxc generated\n";
exit;