# fill in merged cells my $ma = $page->{sheet}->{MergedArea}; for my $a ( @$ma ) { my ( $tr, $lc, $br, $rc ) = @$a; # propogate values top left to bottom right my $p = $page->{sheet}->{Cells}->[$tr]->[$lc]->{Val}; for ( my $row=$tr; $row<=$br; $row++ ) { for ( my $col=$lc; $col<=$rc; $col++ ) { $page->{sheet}->{Cells}->[$row]->[$col]->{Val}=$p; } } } # for $a