| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- # DISCLAIMER OF WARRANTY
- # Because this software is licensed free of charge, there is no warranty for the software,
- # to the extent permitted by applicable law. Except when otherwise stated in writing
- # the copyright holders and/or other parties provide the software "as is" without
- # warranty of any kind, either expressed or implied, including, but not limited to,
- # the implied warranties of merchantability and fitness for a particular purpose.
- # The entire risk as to the quality and performance of the software is with you.
- # Should the software prove defective, you assume the cost of all necessary
- # servicing, repair, or correction.
- # In no event unless required by applicable law or agreed to in writing will any
- # copyright holder, or any other party who may modify and/or redistribute the software
- # as permitted by the above licence, be liable to you for damages, including any general,
- # special, incidental, or consequential damages arising out of the use or inability
- # to use the software (including but not limited to loss of data or data being rendered
- # inaccurate or losses sustained by you or third parties or a failure of the software
- # to operate with any other software), even if such holder or other party
- # has been advised of the possibility of such damages.
- # AUTHOR
- # Current maintainer 0.40+: John McNamara jmcnamara@cpan.org
- # Maintainer 0.27-0.33: Gabor Szabo szabgab@cpan.org
- # Original author: Kawai Takanori (Hippo2000) kwitknr@cpan.org
- # COPYRIGHT
- # Copyright (c) 2009-2010 John McNamara
- # Copyright (c) 2006-2008 Gabor Szabo
- # Copyright (c) 2000-2006 Kawai Takanori
- # All rights reserved. This is free software. You may distribute under the terms of
- # the Artistic License(full text of the Artistic License http://dev.perl.org/licenses/artistic.html).
- package Spreadsheet::ParseExcel::Dump;
- ###############################################################################
- #
- # Spreadsheet::ParseExcel::Dump - A class for dumping Excel records.
- #
- # Used in conjunction with Spreadsheet::ParseExcel.
- #
- # Copyright (c) 2009 John McNamara
- # Copyright (c) 2006-2008 Gabor Szabo
- # Copyright (c) 2000-2006 Kawai Takanori
- #
- # perltidy with standard settings.
- #
- # Documentation after __END__
- #
- use strict;
- use warnings;
- our $VERSION = '0.57';
- my %NameTbl = (
- #P291
- 0x0A => 'EOF',
- 0x0C => 'CALCCOUNT',
- 0x0D => 'CALCMODE',
- 0x0E => 'PRECISION',
- 0x0F => 'REFMODE',
- 0x10 => 'DELTA',
- 0x11 => 'ITERATION',
- 0x12 => 'PROTECT',
- 0x13 => 'PASSWORD',
- 0x14 => 'HEADER',
- 0x15 => 'FOOTER',
- 0x16 => 'EXTERNCOUNT',
- 0x17 => 'EXTERNSHEET',
- 0x19 => 'WINDOWPROTECT',
- 0x1A => 'VERTICALPAGEBREAKS',
- 0x1B => 'HORIZONTALPAGEBREAKS',
- 0x1C => 'NOTE',
- 0x1D => 'SELECTION',
- 0x22 => '1904',
- 0x26 => 'LEFTMARGIN',
- 0x27 => 'RIGHTMARGIN',
- 0x28 => 'TOPMARGIN',
- 0x29 => 'BOTTOMMARGIN',
- 0x2A => 'PRINTHEADERS',
- 0x2B => 'PRINTGRIDLINES',
- 0x2F => 'FILEPASS',
- 0x3C => 'COUNTINUE',
- 0x3D => 'WINDOW1',
- 0x40 => 'BACKUP',
- 0x41 => 'PANE',
- 0x42 => 'CODEPAGE',
- 0x4D => 'PLS',
- 0x50 => 'DCON',
- 0x51 => 'DCONREF',
- #P292
- 0x52 => 'DCONNAME',
- 0x55 => 'DEFCOLWIDTH',
- 0x59 => 'XCT',
- 0x5A => 'CRN',
- 0x5B => 'FILESHARING',
- 0x5C => 'WRITEACCES',
- 0x5D => 'OBJ',
- 0x5E => 'UNCALCED',
- 0x5F => 'SAVERECALC',
- 0x60 => 'TEMPLATE',
- 0x63 => 'OBJPROTECT',
- 0x7D => 'COLINFO',
- 0x7E => 'RK',
- 0x7F => 'IMDATA',
- 0x80 => 'GUTS',
- 0x81 => 'WSBOOL',
- 0x82 => 'GRIDSET',
- 0x83 => 'HCENTER',
- 0x84 => 'VCENTER',
- 0x85 => 'BOUNDSHEET',
- 0x86 => 'WRITEPROT',
- 0x87 => 'ADDIN',
- 0x88 => 'EDG',
- 0x89 => 'PUB',
- 0x8C => 'COUNTRY',
- 0x8D => 'HIDEOBJ',
- 0x90 => 'SORT',
- 0x91 => 'SUB',
- 0x92 => 'PALETTE',
- 0x94 => 'LHRECORD',
- 0x95 => 'LHNGRAPH',
- 0x96 => 'SOUND',
- 0x98 => 'LPR',
- 0x99 => 'STANDARDWIDTH',
- 0x9A => 'FNGROUPNAME',
- 0x9B => 'FILTERMODE',
- 0x9C => 'FNGROUPCOUNT',
- #P293
- 0x9D => 'AUTOFILTERINFO',
- 0x9E => 'AUTOFILTER',
- 0xA0 => 'SCL',
- 0xA1 => 'SETUP',
- 0xA9 => 'COORDLIST',
- 0xAB => 'GCW',
- 0xAE => 'SCENMAN',
- 0xAF => 'SCENARIO',
- 0xB0 => 'SXVIEW',
- 0xB1 => 'SXVD',
- 0xB2 => 'SXV',
- 0xB4 => 'SXIVD',
- 0xB5 => 'SXLI',
- 0xB6 => 'SXPI',
- 0xB8 => 'DOCROUTE',
- 0xB9 => 'RECIPNAME',
- 0xBC => 'SHRFMLA',
- 0xBD => 'MULRK',
- 0xBE => 'MULBLANK',
- 0xBF => 'TOOLBARHDR',
- 0xC0 => 'TOOLBAREND',
- 0xC1 => 'MMS',
- 0xC2 => 'ADDMENU',
- 0xC3 => 'DELMENU',
- 0xC5 => 'SXDI',
- 0xC6 => 'SXDB',
- 0xCD => 'SXSTRING',
- 0xD0 => 'SXTBL',
- 0xD1 => 'SXTBRGIITM',
- 0xD2 => 'SXTBPG',
- 0xD3 => 'OBPROJ',
- 0xD5 => 'SXISDTM',
- 0xD6 => 'RSTRING',
- 0xD7 => 'DBCELL',
- 0xDA => 'BOOKBOOL',
- 0xDC => 'PARAMQRY',
- 0xDC => 'SXEXT',
- 0xDD => 'SCENPROTECT',
- 0xDE => 'OLESIZE',
- #P294
- 0xDF => 'UDDESC',
- 0xE0 => 'XF',
- 0xE1 => 'INTERFACEHDR',
- 0xE2 => 'INTERFACEEND',
- 0xE3 => 'SXVS',
- 0xEA => 'TABIDCONF',
- 0xEB => 'MSODRAWINGGROUP',
- 0xEC => 'MSODRAWING',
- 0xED => 'MSODRAWINGSELECTION',
- 0xEF => 'PHONETICINFO',
- 0xF0 => 'SXRULE',
- 0xF1 => 'SXEXT',
- 0xF2 => 'SXFILT',
- 0xF6 => 'SXNAME',
- 0xF7 => 'SXSELECT',
- 0xF8 => 'SXPAIR',
- 0xF9 => 'SXFMLA',
- 0xFB => 'SXFORMAT',
- 0xFC => 'SST',
- 0xFD => 'LABELSST',
- 0xFF => 'EXTSST',
- 0x100 => 'SXVDEX',
- 0x103 => 'SXFORMULA',
- 0x122 => 'SXDBEX',
- 0x13D => 'TABID',
- 0x160 => 'USESELFS',
- 0x161 => 'DSF',
- 0x162 => 'XL5MODIFY',
- 0x1A5 => 'FILESHARING2',
- 0x1A9 => 'USERBVIEW',
- 0x1AA => 'USERVIEWBEGIN',
- 0x1AB => 'USERSVIEWEND',
- 0x1AD => 'QSI',
- 0x1AE => 'SUPBOOK',
- 0x1AF => 'PROT4REV',
- 0x1B0 => 'CONDFMT',
- 0x1B1 => 'CF',
- 0x1B2 => 'DVAL',
- #P295
- 0x1B5 => 'DCONBIN',
- 0x1B6 => 'TXO',
- 0x1B7 => 'REFRESHALL',
- 0x1B8 => 'HLINK',
- 0x1BA => 'CODENAME',
- 0x1BB => 'SXFDBTYPE',
- 0x1BC => 'PROT4REVPASS',
- 0x1BE => 'DV',
- 0x200 => 'DIMENSIONS',
- 0x201 => 'BLANK',
- 0x202 => 'Integer', #Not Documented
- 0x203 => 'NUMBER',
- 0x204 => 'LABEL',
- 0x205 => 'BOOLERR',
- 0x207 => 'STRING',
- 0x208 => 'ROW',
- 0x20B => 'INDEX',
- 0x218 => 'NAME',
- 0x221 => 'ARRAY',
- 0x223 => 'EXTERNNAME',
- 0x225 => 'DEFAULTROWHEIGHT',
- 0x231 => 'FONT',
- 0x236 => 'TABLE',
- 0x23E => 'WINDOW2',
- 0x293 => 'STYLE',
- 0x406 => 'FORMULA',
- 0x41E => 'FORMAT',
- 0x18 => 'NAME',
- 0x06 => 'FORMULA',
- 0x09 => 'BOF(BIFF2)',
- 0x209 => 'BOF(BIFF3)',
- 0x409 => 'BOF(BIFF4)',
- 0x809 => 'BOF(BIFF5-7)',
- 0x31 => 'FONT', 0x27E => 'RK',
- #Chart/Graph
- 0x1001 => 'UNITS',
- 0x1002 => 'CHART',
- 0x1003 => 'SERISES',
- 0x1006 => 'DATAFORMAT',
- 0x1007 => 'LINEFORMAT',
- 0x1009 => 'MAKERFORMAT',
- 0x100A => 'AREAFORMAT',
- 0x100B => 'PIEFORMAT',
- 0x100C => 'ATTACHEDLABEL',
- 0x100D => 'SERIESTEXT',
- 0x1014 => 'CHARTFORMAT',
- 0x1015 => 'LEGEND',
- 0x1016 => 'SERIESLIST',
- 0x1017 => 'BAR',
- 0x1018 => 'LINE',
- 0x1019 => 'PIE',
- 0x101A => 'AREA',
- 0x101B => 'SCATTER',
- 0x101C => 'CHARTLINE',
- 0x101D => 'AXIS',
- 0x101E => 'TICK',
- 0x101F => 'VALUERANGE',
- 0x1020 => 'CATSERRANGE',
- 0x1021 => 'AXISLINEFORMAT',
- 0x1022 => 'CHARTFORMATLINK',
- 0x1024 => 'DEFAULTTEXT',
- 0x1025 => 'TEXT',
- 0x1026 => 'FONTX',
- 0x1027 => 'OBJECTLINK',
- 0x1032 => 'FRAME',
- 0x1033 => 'BEGIN',
- 0x1034 => 'END',
- 0x1035 => 'PLOTAREA',
- 0x103A => '3D',
- 0x103C => 'PICF',
- 0x103D => 'DROPBAR',
- 0x103E => 'RADAR',
- 0x103F => 'SURFACE',
- 0x1040 => 'RADARAREA',
- 0x1041 => 'AXISPARENT',
- 0x1043 => 'LEGENDXN',
- 0x1044 => 'SHTPROPS',
- 0x1045 => 'SERTOCRT',
- 0x1046 => 'AXESUSED',
- 0x1048 => 'SBASEREF',
- 0x104A => 'SERPARENT',
- 0x104B => 'SERAUXTREND',
- 0x104E => 'IFMT',
- 0x104F => 'POS',
- 0x1050 => 'ALRUNS',
- 0x1051 => 'AI',
- 0x105B => 'SERAUXERRBAR',
- 0x105D => 'SERFMT',
- 0x1060 => 'FBI',
- 0x1061 => 'BOPPOP',
- 0x1062 => 'AXCEXT',
- 0x1063 => 'DAT',
- 0x1064 => 'PLOTGROWTH',
- 0x1065 => 'SINDEX',
- 0x1066 => 'GELFRAME',
- 0x1067 => 'BPOPPOPCUSTOM',
- );
- #------------------------------------------------------------------------------
- # subDUMP (for Spreadsheet::ParseExcel)
- #------------------------------------------------------------------------------
- sub subDUMP {
- my ( $oBook, $bOp, $bLen, $sWk ) = @_;
- printf "%04X:%-23s (Len:%3d) : %s\n",
- $bOp, OpName($bOp), $bLen, unpack( "H40", $sWk );
- }
- #------------------------------------------------------------------------------
- # Spreadsheet::ParseExcel->OpName
- #------------------------------------------------------------------------------
- sub OpName {
- my ($bOp) = @_;
- return ( defined $NameTbl{$bOp} ) ? $NameTbl{$bOp} : 'undef';
- }
- 1;
- __END__
- =pod
- =head1 NAME
- Spreadsheet::ParseExcel::Dump - A class for dumping Excel records.
- =head1 SYNOPSIS
- See the documentation for Spreadsheet::ParseExcel.
- =head1 DESCRIPTION
- This module is used in conjunction with Spreadsheet::ParseExcel. See the documentation for Spreadsheet::ParseExcel.
- =head1 AUTHOR
- Maintainer 0.40+: John McNamara jmcnamara@cpan.org
- Maintainer 0.27-0.33: Gabor Szabo szabgab@cpan.org
- Original author: Kawai Takanori kwitknr@cpan.org
- =head1 COPYRIGHT
- Copyright (c) 2009-2010 John McNamara
- Copyright (c) 2006-2008 Gabor Szabo
- Copyright (c) 2000-2006 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.
- =cut
|