#!/usr/bin/perl
###############################################################################
#
# Example of how to use the Excel::Writer::XLSX merge_range() workbook
# method with complex formatting.
#
# reverse('©'), September 2002, John McNamara, jmcnamara@cpan.org
#
use
strict;
use
warnings;
use
Excel::Writer::XLSX;
# Create a new workbook and add a worksheet
my
$workbook
= Excel::Writer::XLSX->new(
'merge4.xlsx'
);
my
$worksheet
=
$workbook
->add_worksheet();
# Increase the cell size of the merged cells to highlight the formatting.
$worksheet
->set_row(
$_
, 30 )
for
( 1 .. 11 );
$worksheet
->set_column(
'B:D'
, 20 );
###############################################################################
#
# Example 1: Text centered vertically and horizontally
#
my
$format1
=
$workbook
->add_format(
border
=> 6,
bold
=> 1,
color
=>
'red'
,
valign
=>
'vcenter'
,
align
=>
'center'
,
);
$worksheet
->merge_range(
'B2:D3'
,
'Vertical and horizontal'
,
$format1
);
###############################################################################
#
# Example 2: Text aligned to the top and left
#
my
$format2
=
$workbook
->add_format(
border
=> 6,
bold
=> 1,
color
=>
'red'
,
valign
=>
'top'
,
align
=>
'left'
,
);
$worksheet
->merge_range(
'B5:D6'
,
'Aligned to the top and left'
,
$format2
);
###############################################################################
#
# Example 3: Text aligned to the bottom and right
#
my
$format3
=
$workbook
->add_format(
border
=> 6,
bold
=> 1,
color
=>
'red'
,
valign
=>
'bottom'
,
align
=>
'right'
,
);
$worksheet
->merge_range(
'B8:D9'
,
'Aligned to the bottom and right'
,
$format3
);
###############################################################################
#
# Example 4: Text justified (i.e. wrapped) in the cell
#
my
$format4
=
$workbook
->add_format(
border
=> 6,
bold
=> 1,
color
=>
'red'
,
valign
=>
'top'
,
align
=>
'justify'
,
);
$worksheet
->merge_range(
'B11:D12'
,
'Justified: '
.
'so on and '
x 18,
$format4
);