This file is indexed.

/usr/share/perl5/Excel/Template/Container/Worksheet.pm is in libexcel-template-perl 0.34-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
package Excel::Template::Container::Worksheet;

use strict;

BEGIN {
    use vars qw(@ISA);
    @ISA = qw(Excel::Template::Container);

    use Excel::Template::Container;
}

sub exit_scope { $_[1]->active_worksheet(undef) }

sub render {
    my $self = shift;
    my ($context) = @_;

    my $worksheet = $context->new_worksheet($self);

    my $password = $context->get( $self, 'PROTECT' );
    if ( defined $password ) {
        $worksheet->protect($password);
    }

    $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' ) ) {
        $worksheet->set_portrait;
    }

   
    my $hide_gridlines = $context->get( $self, 'HIDE_GRIDLINES');
    
    if ( defined $hide_gridlines ) {
        $worksheet->hide_gridlines( $hide_gridlines );
    }

    my $autofilter = $context->get( $self, "AUTOFILTER");
    if ( defined $autofilter ) {
        if ($autofilter =~ /^\D/) {
            $worksheet->autofilter($autofilter);
        }else{
            $autofilter =~ s/ //g;
            my ($row1, $col1, $row2, $col2) = split(',',$autofilter);
            $worksheet->autofilter($row1, $col1, $row2, $col2);
        }
    }

    return $self->SUPER::render($context);
}

1;
__END__

=head1 NAME

Excel::Template::Container::Worksheet - Excel::Template::Container::Worksheet

=head1 PURPOSE

To provide a new worksheet.

=head1 NODE NAME

WORKSHEET

=head1 INHERITANCE

Excel::Template::Container

=head1 ATTRIBUTES

=over 4

=item * NAME

This is the name of the worksheet to be added.

=item * PROTECT

If the attribute exists, it will mark the worksheet as being protected. Whatever
value is set will be used as the password.

This activates the HIDDEN and LOCKED nodes.

=item * KEEP_LEADING_ZEROS

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.

=item * PORTRAIT

This will set the worksheet's orientation to portrait.

While this is the default, it's useful to override the default at times. For
example, in the following situation:

  <workbook landscape="1">
    <worksheet>
      ...
    </worksheet
    <worksheet portrait="1">
      ...
    </worksheet
    <worksheet>
      ...
    </worksheet
  </workbook>

In that example, the first and third worksheets will be landscape (inheriting
it from the workbook node), but the second worksheet will be portrait.

=item * AUTOFILTER

With these attribute, you can add the autofilter to a worksheet. An autofilter is a
way of adding drop down lists to the headers of a 2D range of worksheet data. 
This is turn allow users to filter the data based on simple criteria so that 
some data is shown and some is hidden.

Example to add an autofilter to a worksheet:
    <workbook>
      <worksheet autofilter='A1:D11' />
      <worksheet autofilter='0, 0, 10, 3' />
    </workbook>

=back

=head1 CHILDREN

None

=head1 EFFECTS

None

=head1 DEPENDENCIES

None

=head1 USAGE

  <worksheet name="My Taxes">
    ... Children here
  </worksheet>

In the above example, the children will be executed in the context of the
"My Taxes" worksheet.

=head1 AUTHOR

Rob Kinyon (rob.kinyon@gmail.com)

=head1 SEE ALSO

ROW, CELL, FORMULA

=cut