From: Jens Gassmann Date: Mon, 17 Dec 2007 20:48:32 +0000 (+0000) Subject: - add new option to worksheet - hide_gridlines X-Git-Tag: v0.31~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FExcel-Template.git;a=commitdiff_plain;h=bf9809e55e580ce1c7c424d68d74186aa356603f - add new option to worksheet - hide_gridlines --- diff --git a/Changes b/Changes index 8eec0d7..2485574 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,8 @@ Revision history for Perl distribution Excel::Template +0.31 Mo Dec 17 13:41:00 2007 + - Add hide_gridlines to worksheet + 0.30 Sa Dec 01 00:00:00 2007 - Add write_date_time to write a datetime-value into a cell diff --git a/lib/Excel/Template.pm b/lib/Excel/Template.pm index a2f1403..c3a8a5f 100644 --- a/lib/Excel/Template.pm +++ b/lib/Excel/Template.pm @@ -6,7 +6,7 @@ BEGIN { use Excel::Template::Base; use vars qw ($VERSION @ISA); - $VERSION = '0.30'; + $VERSION = '0.31'; @ISA = qw( Excel::Template::Base ); } diff --git a/lib/Excel/Template/Container/Worksheet.pm b/lib/Excel/Template/Container/Worksheet.pm index 6997f85..9a789d8 100644 --- a/lib/Excel/Template/Container/Worksheet.pm +++ b/lib/Excel/Template/Container/Worksheet.pm @@ -9,31 +9,35 @@ BEGIN { use Excel::Template::Container; } -sub exit_scope { $_[1]->active_worksheet( undef ) } +sub exit_scope { $_[1]->active_worksheet(undef) } -sub render -{ +sub render { my $self = shift; my ($context) = @_; - my $worksheet = $context->new_worksheet( $self ); + my $worksheet = $context->new_worksheet($self); my $password = $context->get( $self, 'PROTECT' ); - if (defined $password) - { - $worksheet->protect( $password ); + if ( defined $password ) { + $worksheet->protect($password); } - $worksheet->keep_leading_zeros( 1 ) - if $context->mark( 'keep_leading_zeros' ); + $worksheet->keep_leading_zeros(1) + if $context->mark('keep_leading_zeros'); if ( $context->get( $self, 'LANDSCAPE' ) && !$self->{PORTRAIT} ) { $worksheet->set_landscape; - } - elsif ( $context->get( $self, 'PORTRAIT' ) ) { + } elsif ( $context->get( $self, 'PORTRAIT' ) ) { $worksheet->set_portrait; } + + my $hide_gridlines = $context->get( $self, 'HIDE_GRIDLINES'); + + if ( defined $hide_gridlines ) { + $worksheet->hide_gridlines( $hide_gridlines ); + } + return $self->SUPER::render($context); } @@ -75,6 +79,24 @@ This activates the HIDDEN and LOCKED nodes. This will change the behavior of the worksheet to preserve leading zeros. + +=item * HIDE_GRIDLINE + +his method is used to hide the gridlines on the screen and printed page. +Gridlines are the lines that divide the cells on a worksheet. Screen and printed gridlines are +turned on by default in an Excel worksheet. If you have defined your own cell +borders you may wish to hide the default gridlines. + +$worksheet->hide_gridlines(); + +The following values of $option are valid: + + 0 : Don't hide gridlines + 1 : Hide printed gridlines only + 2 : Hide screen and printed gridlines + +If you don't supply an argument or use undef the default option is 1, i.e. only the printed gridlines are hidden. + =item * LANDSCAPE This will set the worksheet's orientation to landscape. diff --git a/t/003.xml b/t/003.xml index 881d6cf..2f91df3 100644 --- a/t/003.xml +++ b/t/003.xml @@ -2,4 +2,5 @@ + diff --git a/t/003_worksheet.t b/t/003_worksheet.t index c9af1ce..cd9b656 100644 --- a/t/003_worksheet.t +++ b/t/003_worksheet.t @@ -26,5 +26,8 @@ Spreadsheet::WriteExcel::add_worksheet( 'foo' ) Spreadsheet::WriteExcel::Worksheet::new( '' ) Spreadsheet::WriteExcel::add_worksheet( '' ) Spreadsheet::WriteExcel::Worksheet::new( '' ) +Spreadsheet::WriteExcel::add_worksheet( '' ) +Spreadsheet::WriteExcel::Worksheet::new( '' ) +Spreadsheet::WriteExcel::Worksheet::hide_gridlines( '2' ) Spreadsheet::WriteExcel::close( '' ) __END_EXPECTED__ diff --git a/t/Spreadsheet/WriteExcel/Worksheet.pm b/t/Spreadsheet/WriteExcel/Worksheet.pm index 783c8c9..00985da 100644 --- a/t/Spreadsheet/WriteExcel/Worksheet.pm +++ b/t/Spreadsheet/WriteExcel/Worksheet.pm @@ -19,7 +19,7 @@ sub new { my @funcs = qw( write_string write_number write_blank write_url write_formula write_date_time write set_row set_column keep_leading_zeros insert_bitmap freeze_panes - set_landscape set_portrait merge_range + set_landscape set_portrait merge_range hide_gridlines ); foreach my $func ( @funcs ) {