- add new option to worksheet - hide_gridlines
Jens Gassmann [Mon, 17 Dec 2007 20:48:32 +0000 (20:48 +0000)]
Changes
lib/Excel/Template.pm
lib/Excel/Template/Container/Worksheet.pm
t/003.xml
t/003_worksheet.t
t/Spreadsheet/WriteExcel/Worksheet.pm

diff --git a/Changes b/Changes
index 8eec0d7..2485574 100644 (file)
--- 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
 
index a2f1403..c3a8a5f 100644 (file)
@@ -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 );
 }
 
index 6997f85..9a789d8 100644 (file)
@@ -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.
index 881d6cf..2f91df3 100644 (file)
--- a/t/003.xml
+++ b/t/003.xml
@@ -2,4 +2,5 @@
   <worksheet />
   <worksheet name="foo"/>
   <worksheet name="foo"/>
+  <worksheet hide_gridlines="2" />
 </workbook>
index c9af1ce..cd9b656 100644 (file)
@@ -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__
index 783c8c9..00985da 100644 (file)
@@ -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 ) {