The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Spreadsheet::Reader::ExcelXML::ZipReader::WorkbookMeta - Zip file Workbook Meta unique reader

SYNOPSIS

        use MooseX::ShortCut::BuildInstance qw( build_instance );
        use Spreadsheet::Reader::ExcelXML::XMLReader;
        use Spreadsheet::Reader::ExcelXML::ZipReader::WorkbookMeta;
        use Spreadsheet::Reader::ExcelXML::WorkbookMetaInterface; # Optional
        $meta_instance = build_instance(
                superclasses    => ['Spreadsheet::Reader::ExcelXML::XMLReader'],
                add_roles_in_sequence =>[ 
                        'Spreadsheet::Reader::ExcelXML::ZipReader::WorkbookMeta',
                        'Spreadsheet::Reader::ExcelXML::WorkbookMetaInterface',
                ],
                file => $file_handle,# Should be a handle built with 'xl/workbook.xml' from a zip file
        );
        $meta_instance->get_epoch_year;
        
        ###########################
        # SYNOPSIS Screen Output
        # 01: 1904
        ###########################
    

DESCRIPTION

This documentation is written to explain ways to use this module when writing your own excel parser. To use the general package for excel parsing out of the box please review the documentation for Workbooks, Worksheets, and Cells

This is the Zip file adaptor for reading the workbook meta file 'xl/workbook.xml'. The file has several default sets of information that should be gathered. They can all be retrieved post file initialization with Methods. The goal is to standardize the outputs of this metadata from non standard inputs.

Required Methods

These are the methods required by the role. A link to the default implementation of these methods is provided.

"advance_element_position( $element, [$iterations] )" in Spreadsheet::Reader::ExcelXML::XMLReader

"parse_element( [$depth] )" in Spreadsheet::Reader::ExcelXML::XMLReader

"start_the_file_over" in Spreadsheet::Reader::ExcelXML::XMLReader

"close_the_file" in Spreadsheet::Reader::ExcelXML::XMLReader

"squash_node( $node )" in Spreadsheet::Reader::ExcelXML::XMLReader

"good_load( $state )" in Spreadsheet::Reader::ExcelXML::XMLReader

Methods

These are the methods provided by this role (only).

load_unique_bits

    Definition: This role is meant to run on top of Spreadsheet::Reader::ExcelXML::XMLReader. When it does the reader will call this function as available when it first starts the file. Therefore this is where the unique Metadata for this file is found and stored. (in the attributes)

    Accepts: nothing

    Returns: nothing

get_epoch_year

    Definition: returns the parsed epoch year that should be found in this file

    Accepts: nothing

    Returns: (1900|1904)

get_sheet_list

    Definition: returns the full array ref containg all discovered sheets in the file. This will include worksheets and chartsheets.

    Accepts: nothing

    Returns: an array ref of strings

get_rel_lookup

    Definition: returns the hashref with relId's as keys and the sheet name as values

    Accepts: nothing

    Returns: a hash ref with $relId => $sheet_name combos

get_id_lookup

    Definition: returns the hashref with sheet id's as keys and the sheet name as values. I beleive that Sheet ID's are the id number used in vbscript to identify the sheet.

    Accepts: nothing

    Returns: a hash ref with $sheetId => $sheet_name combos

SUPPORT

TODO

    1. Nothing currently

AUTHOR

Jed Lund
jandrew@cpan.org

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

SEE ALSO