NAME
Spreadsheet::Reader::ExcelXML::Workbook - Complicated self referential worbook class
DESCRIPTION (TL;DR)
Don't use this module by itself. Because it has a bit of twisty self referencing, it won't garbage collect the way you expect unless you use Spreadsheet::Reader::ExcelXML to manage the garbage collection. From a practical standpoint the necessary end user attributes and methods in this code can be effectivly used against Spreadsheet::Reader::ExcelXML. Thanks Moose for making that easy . As a consequence all the end user methods and attributes contained in this module are documented in Spreadsheet::Reader::ExcelXML instead. (the down side is the raw code and the documentation are two different files)
Methods
There are a few methods exported by this class that are not meant to be used by the end user of the package but will still be delegated to Spreadsheet::Reader::ExcelXML in order to handle the twisty self referencing. As a consequence they will be documented here. (and not there)
build_workbook( $file )
Definition: If the passed $file is not a file handle it will store the value for retrieval by "file_name" in Spreadsheet::Reader::ExcelXML later. It will then coerce the $file into a file handle. At that point it will reset the whole workbook and extract the meta data from the workbook file in preparation for reading the sheets.
Accepts: $file which can either be a full file path string or a file handle
Returns: a built and ready to use Spreadsheet::Reader::ExcelXML::Workbook instance or undef on fail. It does not return a Spreadsheet::Reader::Excel object even when called as an exported method in Spreadsheet::Reader::Excel. (Part of the twisty nature of this class)
demolish_the_workbook
Definition: Perl would normally delay garbage cleanup for this class until the script exits since this has twisty self references. In order to allow the class to close and clear when it goes out of scope Spreadsheet::Reader::ExcelXML has to manually clear this class when it goes out of scope. This is the method it uses to do that.
Accepts: nothing
Returns: nothing but all the self referencing attributes in the instance are cleared allowing perl garbage collection to work when the Spreadsheet::Reader::ExcelXML instance goes out of scope. (after this method is called)
has_shared_strings_interface
Definition: Indicates if a shared_strings_interface file was loaded and is available for content extraction
Accepts: nothing
Returns: true if the interface is stored
get_shared_string
Delegated from "get_shared_string( $positive_int|$name )" in Spreadsheet::Reader::ExcelXML::SharedStrings
has_styles_interface
Definition: Indicates if a styles_interface file was loaded and is available for content extraction
Accepts: nothing
Returns: true if the interface is stored
get_format
Delegated from "get_format( ($position|$name), [$header], [$exclude_header] )" in Spreadsheet::Reader::ExcelXML::SharedStrings
SUPPORT
TODO
1. Nothing currently
AUTHOR
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
This software is copyrighted (c) 2016 by Jed Lund
DEPENDENCIES
Spreadsheet::Reader::ExcelXML - 2003 xml style and 2007+ (.xlsx) excel sheet reader
Spreadsheet::Reader::ExcelXML::Worksheet - Worksheet level interface
Spreadsheet::Reader::ExcelXML::Cell - Cell level interface
Archive::Zip - 1.30
Carp - confess longmess
Clone - clone
Modern::Perl - 1.20150127
MooseX::ShortCut::BuildInstance
Spreadsheet::Reader::Format - v0.2.010
Spreadsheet::Reader::Format::FmtDefault
Spreadsheet::Reader::Format::ParseExcelFormatStrings
Type::Library - 1.000
Types::Standard - qw( InstanceOf Str StrMatch Enum HashRef ArrayRef CodeRef Int HasMethods Bool is_Object is_HashRef ConsumerOf )
version - 0.77
Spreadsheet::Reader::ExcelXML::ZipReader
Spreadsheet::Reader::ExcelXML::CellToColumnRow
Spreadsheet::Reader::ExcelXML::Chartsheet
Spreadsheet::Reader::ExcelXML::Error
Spreadsheet::Reader::ExcelXML::Row
Spreadsheet::Reader::ExcelXML::SharedStrings
Spreadsheet::Reader::ExcelXML::Styles
Spreadsheet::Reader::ExcelXML::WorkbookFileInterface
Spreadsheet::Reader::ExcelXML::WorkbookMetaInterface
Spreadsheet::Reader::ExcelXML::WorkbookPropsInterface
Spreadsheet::Reader::ExcelXML::WorkbookRelsInterface
Spreadsheet::Reader::ExcelXML::WorksheetToRow
Spreadsheet::Reader::ExcelXML::XMLReader
Spreadsheet::Reader::ExcelXML::XMLReader::FileWorksheet
Spreadsheet::Reader::ExcelXML::XMLReader::NamedSharedStrings
Spreadsheet::Reader::ExcelXML::XMLReader::NamedStyles
Spreadsheet::Reader::ExcelXML::XMLReader::NamedWorksheet
Spreadsheet::Reader::ExcelXML::XMLReader::PositionSharedStrings
Spreadsheet::Reader::ExcelXML::XMLReader::PositionStyles
Spreadsheet::Reader::ExcelXML::XMLReader::WorkbookMeta
Spreadsheet::Reader::ExcelXML::XMLReader::WorkbookProps
Spreadsheet::Reader::ExcelXML::XMLReader::WorkbookRels
Spreadsheet::Reader::ExcelXML::ZipReader::WorkbookMeta
Spreadsheet::Reader::ExcelXML::ZipReader::WorkbookProps
Spreadsheet::Reader::ExcelXML::ZipReader::WorkbookRels
Spreadsheet::Reader::ExcelXML::Types - qw( XLSXFile IOFileType is_XMLFile )
SEE ALSO
Spreadsheet::Read - generic Spreadsheet reader
Spreadsheet::ParseExcel - Excel binary version 2003 and earlier (.xls files)
Spreadsheet::XLSX - Excel version 2007 and later
Spreadsheet::ParseXLSX - Excel version 2007 and later
All lines in this package that use Log::Shiras are commented out