Spreadsheet::Reader::ExcelXML::Workbook - Complicated self referential worbook class


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)


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)


    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)


    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


Delegated from "get_shared_string( $positive_int|$name )" in Spreadsheet::Reader::ExcelXML::SharedStrings


    Definition: Indicates if a styles_interface file was loaded and is available for content extraction

    Accepts: nothing

    Returns: true if the interface is stored


Delegated from "get_format( ($position|$name), [$header], [$exclude_header] )" in Spreadsheet::Reader::ExcelXML::SharedStrings



    1. Nothing currently


Jed Lund


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