The following module was proposed for inclusion in the Module List:

  modid:       Excel::Table
  DSLIP:       bdpOg
  description: Process Excel sheets as structured arrays
  userid:      TMCMEEKI (Tom McMeekin)
  chapterid:   11 (String_Lang_Text_Proc)
  communities:

  similar:
    Spreadsheet::ParseExcel Spreadsheet::XLSX DBD::Excel

  rationale:

    Many spreadsheets are used to store semi-structured lists, such as
    catalogues, manifests, etc. in a table-like structure. These files
    typically evolve over time, and come to resemble databases,
    particularly in the case of Excel workbooks, where multiple
    worksheets are used in unison.

    Whilst DBD::Excel can be used to provide an SQL-like interface to
    such sheets, it may not be practical to do so, and certainly for
    programmers not familiar or comfortable with SQL. This is
    particularly true for spreadsheets which have evolved over time and
    may not exhibit good database design, such as normalisation or
    consistent "column" naming.

    This module allows sheet data (assumed to be similarly structured
    to tables) to be processed as arrays (or hashes if desired) of rows
    with the ability to retrieve meta-data such as maximum value length,
    titles, etc. It also allows for duplicate column naming which often
    occur in such sheets which don't lend themselves well to handling
    via DBD.

    It leverages existing Excel parsing modules and as such caters to
    older and newer Excel formats.

    Some example code fragments: my $xs1 = Excel::Table->new;

    $xs1->open('mybook.xls');

    my @data = $xs1->extract('Sheet1');

    @data = $xs1->select("column1,column2,column3", 'Sheet1');

    printf "columns %d rows %d title_row %d\n", $xs1->columns,
    $xs1->rows, $xs1->title_row;

  enteredby:   TMCMEEKI (Tom McMeekin)
  enteredon:   Mon Oct 22 10:34:07 2012 GMT

The resulting entry would be:

Excel::
::Table           bdpOg Process Excel sheets as structured arrays    TMCMEEKI


Thanks for registering,
-- 
The PAUSE

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=96a00000_818bb0f0bcff34cd&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=96a00000_818bb0f0bcff34cd&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
  
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=Excel%3A%3ATable

Reply via email to