Server IP : 103.119.228.120 / Your IP : 3.133.145.17 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/share/perl5/Spreadsheet/ParseExcel/ |
Upload File : |
package Spreadsheet::ParseExcel::Workbook; ############################################################################### # # Spreadsheet::ParseExcel::Workbook - A class for Workbooks. # # Used in conjunction with Spreadsheet::ParseExcel. # # Copyright (c) 2014 Douglas Wilson # Copyright (c) 2009-2013 John McNamara # Copyright (c) 2006-2008 Gabor Szabo # Copyright (c) 2000-2006 Kawai Takanori # # perltidy with standard settings. # # Documentation after __END__ # use strict; use warnings; our $VERSION = '0.65'; ############################################################################### # # new() # # Constructor. # sub new { my ($class) = @_; my $self = {}; bless $self, $class; } ############################################################################### sub color_idx_to_rgb { my( $workbook, $iidx ) = @_; my $palette = $workbook->{aColor}; return ( ( defined $palette->[$iidx] ) ? $palette->[$iidx] : $palette->[0] ); } ############################################################################### # # worksheet() # # This method returns a single Worksheet object using either its name or index. # sub worksheet { my ( $oBook, $sName ) = @_; my $oWkS; foreach $oWkS ( @{ $oBook->{Worksheet} } ) { return $oWkS if ( $oWkS->{Name} eq $sName ); } if ( $sName =~ /^\d+$/ ) { return $oBook->{Worksheet}->[$sName]; } return undef; } ############################################################################### # # worksheets() # # Returns an array of Worksheet objects. # sub worksheets { my $self = shift; return @{ $self->{Worksheet} }; } ############################################################################### # # worksheet_count() # # Returns the number Woksheet objects in the Workbook. # sub worksheet_count { my $self = shift; return $self->{SheetCount}; } ############################################################################### # # get_filename() # # Returns the name of the Excel file of C<undef> if the data was read from a filehandle rather than a file. # sub get_filename { my $self = shift; return $self->{File}; } ############################################################################### # # get_print_areas() # # Returns an array ref of print areas. # # TODO. This should really be a Worksheet method. # sub get_print_areas { my $self = shift; return $self->{PrintArea}; } ############################################################################### # # get_print_titles() # # Returns an array ref of print title hash refs. # # TODO. This should really be a Worksheet method. # sub get_print_titles { my $self = shift; return $self->{PrintTitle}; } ############################################################################### # # using_1904_date() # # Returns true if the Excel file is using the 1904 date epoch. # sub using_1904_date { my $self = shift; return $self->{Flg1904}; } ############################################################################### # # ParseAbort() # # Todo # sub ParseAbort { my ( $self, $val ) = @_; $self->{_ParseAbort} = $val; } =head2 get_active_sheet() Return the number of the active (open) worksheet (at the time the workbook was saved. May return undef. =cut sub get_active_sheet { my $workbook = shift; return $workbook->{ActiveSheet}; } ############################################################################### # # Parse(). Deprecated. # # Syntactic wrapper around Spreadsheet::ParseExcel::Parse(). # This method is *deprecated* since it doesn't conform to the current # error handling in the S::PE Parse() method. # sub Parse { my ( $class, $source, $formatter ) = @_; my $excel = Spreadsheet::ParseExcel->new(); my $workbook = $excel->Parse( $source, $formatter ); $workbook->{_Excel} = $excel; return $workbook; } ############################################################################### # # Mapping between legacy method names and new names. # { no warnings; # Ignore warnings about variables used only once. *Worksheet = *worksheet; } 1; __END__ =pod =head1 NAME Spreadsheet::ParseExcel::Workbook - A class for Workbooks. =head1 SYNOPSIS See the documentation for Spreadsheet::ParseExcel. =head1 DESCRIPTION This module is used in conjunction with Spreadsheet::ParseExcel. See the documentation for L<Spreadsheet::ParseExcel>. =head1 Methods The following Workbook methods are available: $workbook->worksheets() $workbook->worksheet() $workbook->worksheet_count() $workbook->get_filename() $workbook->get_print_areas() $workbook->get_print_titles() $workbook->using_1904_date() =head2 worksheets() The C<worksheets()> method returns an array of Worksheet objects. This was most commonly used to iterate over the worksheets in a workbook: for my $worksheet ( $workbook->worksheets() ) { ... } =head2 worksheet() The C<worksheet()> method returns a single C<Worksheet> object using either its name or index: $worksheet = $workbook->worksheet('Sheet1'); $worksheet = $workbook->worksheet(0); Returns C<undef> if the sheet name or index doesn't exist. =head2 worksheet_count() The C<worksheet_count()> method returns the number of Woksheet objects in the Workbook. my $worksheet_count = $workbook->worksheet_count(); =head2 get_filename() The C<get_filename()> method returns the name of the Excel file of C<undef> if the data was read from a filehandle rather than a file. my $filename = $workbook->get_filename(); =head2 get_print_areas() The C<get_print_areas()> method returns an array ref of print areas. my $print_areas = $workbook->get_print_areas(); Each print area is as follows: [ $start_row, $start_col, $end_row, $end_col ] Returns undef if there are no print areas. =head2 get_print_titles() The C<get_print_titles()> method returns an array ref of print title hash refs. my $print_titles = $workbook->get_print_titles(); Each print title array ref is as follows: { Row => [ $start_row, $end_row ], Column => [ $start_col, $end_col ], } Returns undef if there are no print titles. =head2 using_1904_date() The C<using_1904_date()> method returns true if the Excel file is using the 1904 date epoch instead of the 1900 epoch. my $using_1904_date = $workbook->using_1904_date(); The Windows version of Excel generally uses the 1900 epoch while the Mac version of Excel generally uses the 1904 epoch. Returns 0 if the 1900 epoch is in use. =head1 AUTHOR Current maintainer 0.60+: Douglas Wilson dougw@cpan.org Maintainer 0.40-0.59: John McNamara jmcnamara@cpan.org Maintainer 0.27-0.33: Gabor Szabo szabgab@cpan.org Original author: Kawai Takanori kwitknr@cpan.org =head1 COPYRIGHT Copyright (c) 2014 Douglas Wilson Copyright (c) 2009-2013 John McNamara Copyright (c) 2006-2008 Gabor Szabo Copyright (c) 2000-2006 Kawai Takanori All rights reserved. You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. =cut