Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

spreadsheet::parseexcel::simple(3pm) [debian man page]

Spreadsheet::ParseExcel::Simple(3pm)			User Contributed Perl Documentation		      Spreadsheet::ParseExcel::Simple(3pm)

Spreadsheet::ParseExcel::Simple - A simple interface to Excel data SYNOPSIS
my $xls = Spreadsheet::ParseExcel::Simple->read('spreadsheet.xls'); foreach my $sheet ($xls->sheets) { while ($sheet->has_data) { my @data = $sheet->next_row; } } DESCRIPTION
This provides an abstraction to the Spreadsheet::ParseExcel module for simple reading of values. You simply loop over the sheets, and fetch rows to arrays. For anything more complex, you probably want to use Spreadsheet::ParseExcel directly. BOOK METHODS
read my $xls = Spreadsheet::ParseExcel::Simple->read('spreadsheet.xls'); This opens the spreadsheet specified for you. Returns undef if we cannot read the book. sheets @sheets = $xls->sheets; Each spreadsheet can contain one or more worksheets. This fetches them all back. You can then iterate over them, or jump straight to the one you wish to play with. book my $book = $xls->book; The Spreadsheet::ParseExcel object we are working with. You can use this if you need to manipulate it in ways that this interface doesn't allow. SHEET METHODS
These methods can be called on each sheet returned from $xls->sheets: has_data if ($sheet->has_data) { ... } This lets us know if there are more rows in this sheet that we haven't read yet. This allows us to differentiate between an empty row, and the end of the sheet. next_row my @data = $sheet->next_row; Fetch the next row of data back. sheet my $obj = $sheet->sheet; The underlying Spreadsheet::ParseExcel object for the worksheet. You can use this if you need to manipulate it in ways that this interface doesn't allow (e.g. asking it for the sheet's name). AUTHOR
Tony Bowden BUGS and QUERIES Please direct all correspondence regarding this module to: COPYRIGHT AND LICENSE
Copyright (C) 2001-2005 Tony Bowden. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. SEE ALSO
Spreadsheet::ParseExcel. perl v5.8.8 2008-03-12 Spreadsheet::ParseExcel::Simple(3pm)

Check Out this Related Man Page

Excel(3pm)						User Contributed Perl Documentation						Excel(3pm)

DBD::Excel - A class for DBI drivers that act on Excel File. This is still alpha version. SYNOPSIS
use DBI; $hDb = DBI->connect("DBI:Excel:file=test.xls") or die "Cannot connect: " . $DBI::errstr; $hSt = $hDb->prepare("CREATE TABLE a (id INTEGER, name CHAR(10))") or die "Cannot prepare: " . $hDb->errstr(); $hSt->execute() or die "Cannot execute: " . $hSt->errstr(); $hSt->finish(); $hDb->disconnect(); DESCRIPTION
This is still alpha version. The DBD::Excel module is a DBI driver. The module is based on these modules: * Spreadsheet::ParseExcel reads Excel files. * Spreadsheet::WriteExcel writes Excel files. * SQL::Statement a simple SQL engine. * DBI Of course. :-) This module assumes TABLE = Worksheet. The contents of first row of each worksheet as column name. Adding that, this module accept temporary table definition at "connect" method with "xl_vtbl". ex. my $hDb = DBI->connect( "DBI:Excel:file=dbdtest.xls", undef, undef, {xl_vtbl => {TESTV => { sheetName => 'TEST_V', ttlRow => 5, startCol => 1, colCnt => 4, datRow => 6, datLmt => 4, } } }); For more information please refer sample/ included in this distribution. Metadata The following attributes are handled by DBI itself and not by DBD::Excel, thus they all work like expected: Active ActiveKids CachedKids CompatMode (Not used) InactiveDestroy Kids PrintError RaiseError Warn (Not used) The following DBI attributes are handled by DBD::Excel: AutoCommit Always on ChopBlanks Works NUM_OF_FIELDS Valid after "$hSt->execute" NUM_OF_PARAMS Valid after "$hSt->prepare" NAME Valid after "$hSt->execute"; undef for Non-Select statements. NULLABLE Not really working, always returns an array ref of one's. Valid after "$hSt->execute"; undef for Non-Select statements. These attributes and methods are not supported: bind_param_inout CursorName LongReadLen LongTruncOk Additional to the DBI attributes, you can use the following dbh attribute: xl_fmt This attribute is used for setting the formatter class for parsing. xl_dir This attribute is used only with "data_sources" on setting the directory where Excel files ('*.xls') are searched. It defaults to the current directory ("."). xl_vtbl assumes specified area as a table. See sample/ xl_skiphidden skip hidden rows(=row height is 0) and hidden columns(=column width is 0). See sample/ xl_ignorecase set casesensitive or not about table name and columns. Default is sensitive (maybe as SQL::Statement). See sample/ Driver private methods data_sources The "data_sources" method returns a list of '*.xls' files of the current directory in the form "DBI:Excel:xl_dir=$dirname". If you want to read the subdirectories of another directory, use my($hDr) = DBI->install_driver("Excel"); my(@list) = $hDr->data_sources( { xl_dir => '/usr/local/xl_data' } ); list_tables This method returns a list of sheet names contained in the $hDb->{file}. Example: my $hDb = DBI->connect("DBI:Excel:file=test.xls"); my @list = $hDb->func('list_tables'); TODO
More tests First of all... Type and Format The current version not support date/time and text formating. Joins The current version of the module works with single table SELECT's only, although the basic design of the SQL::Statement module allows joins and the likes. KNOWN BUGS
o There are too many TODO things. So I can't determind what is BUG. :-) AUTHOR
Kawai Takanori (Hippo2000) Homepage: (Japanese) (English) Wiki: (Japanese) (English) SEE ALSO
DBI, Spreadsheet::WriteExcel, Spreadsheet::ParseExcel, SQL::Statement COPYRIGHT
Copyright (c) 2001 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. perl v5.8.8 2008-03-01 Excel(3pm)
Man Page

Featured Tech Videos