/usr/lib/python2.6/site-packages/tablib/packages/xlwt
NameSizeModeActions
antlr.py842010644editdlrm
antlr.pyc1004180644editdlrm
BIFFRecords.py946220644editdlrm
BIFFRecords.pyc1126670644editdlrm
Bitmap.py104130644editdlrm
Bitmap.pyc77230644editdlrm
Cell.py85260644editdlrm
Cell.pyc79210644editdlrm
Column.py10110644editdlrm
Column.pyc17950644editdlrm
CompoundDoc.py190850644editdlrm
CompoundDoc.pyc136950644editdlrm
ExcelFormula.py13850644editdlrm
ExcelFormula.pyc23570644editdlrm
ExcelFormulaLexer.py42050644editdlrm
ExcelFormulaLexer.pyc48390644editdlrm
ExcelFormulaParser.py223620644editdlrm
ExcelFormulaParser.pyc157160644editdlrm
ExcelMagic.py288400644editdlrm
ExcelMagic.pyc301390644editdlrm
Formatting.py83470755editdlrm
Formatting.pyc89450644editdlrm
Row.py98540644editdlrm
Row.pyc107060644editdlrm
Style.py190220644editdlrm
Style.pyc167860644editdlrm
UnicodeUtils.py33780644editdlrm
UnicodeUtils.pyc34620644editdlrm
Utils.py64740644editdlrm
Utils.pyc54940644editdlrm
Workbook.py205140644editdlrm
Workbook.pyc261670644editdlrm
Worksheet.py425960644editdlrm
Worksheet.pyc493920644editdlrm
__init__.py3050644editdlrm
__init__.pyc6260644editdlrm
Edit: /usr/lib/python2.6/site-packages/tablib/packages/xlwt/ExcelMagic.py (28840B)
# -*- coding: ascii -*- """ lots of Excel Magic Numbers """ # Boundaries BIFF8+ MAX_ROW = 65536 MAX_COL = 256 biff_records = { 0x0000: "DIMENSIONS", 0x0001: "BLANK", 0x0002: "INTEGER", 0x0003: "NUMBER", 0x0004: "LABEL", 0x0005: "BOOLERR", 0x0006: "FORMULA", 0x0007: "STRING", 0x0008: "ROW", 0x0009: "BOF", 0x000A: "EOF", 0x000B: "INDEX", 0x000C: "CALCCOUNT", 0x000D: "CALCMODE", 0x000E: "PRECISION", 0x000F: "REFMODE", 0x0010: "DELTA", 0x0011: "ITERATION", 0x0012: "PROTECT", 0x0013: "PASSWORD", 0x0014: "HEADER", 0x0015: "FOOTER", 0x0016: "EXTERNCOUNT", 0x0017: "EXTERNSHEET", 0x0018: "NAME", 0x0019: "WINDOWPROTECT", 0x001A: "VERTICALPAGEBREAKS", 0x001B: "HORIZONTALPAGEBREAKS", 0x001C: "NOTE", 0x001D: "SELECTION", 0x001E: "FORMAT", 0x001F: "FORMATCOUNT", 0x0020: "COLUMNDEFAULT", 0x0021: "ARRAY", 0x0022: "1904", 0x0023: "EXTERNNAME", 0x0024: "COLWIDTH", 0x0025: "DEFAULTROWHEIGHT", 0x0026: "LEFTMARGIN", 0x0027: "RIGHTMARGIN", 0x0028: "TOPMARGIN", 0x0029: "BOTTOMMARGIN", 0x002A: "PRINTHEADERS", 0x002B: "PRINTGRIDLINES", 0x002F: "FILEPASS", 0x0031: "FONT", 0x0036: "TABLE", 0x003C: "CONTINUE", 0x003D: "WINDOW1", 0x003E: "WINDOW2", 0x0040: "BACKUP", 0x0041: "PANE", 0x0042: "CODEPAGE", 0x0043: "XF", 0x0044: "IXFE", 0x0045: "EFONT", 0x004D: "PLS", 0x0050: "DCON", 0x0051: "DCONREF", 0x0053: "DCONNAME", 0x0055: "DEFCOLWIDTH", 0x0056: "BUILTINFMTCNT", 0x0059: "XCT", 0x005A: "CRN", 0x005B: "FILESHARING", 0x005C: "WRITEACCESS", 0x005D: "OBJ", 0x005E: "UNCALCED", 0x005F: "SAFERECALC", 0x0060: "TEMPLATE", 0x0063: "OBJPROTECT", 0x007D: "COLINFO", 0x007E: "RK", 0x007F: "IMDATA", 0x0080: "GUTS", 0x0081: "WSBOOL", 0x0082: "GRIDSET", 0x0083: "HCENTER", 0x0084: "VCENTER", 0x0085: "BOUNDSHEET", 0x0086: "WRITEPROT", 0x0087: "ADDIN", 0x0088: "EDG", 0x0089: "PUB", 0x008C: "COUNTRY", 0x008D: "HIDEOBJ", 0x008E: "BUNDLESOFFSET", 0x008F: "BUNDLEHEADER", 0x0090: "SORT", 0x0091: "SUB", 0x0092: "PALETTE", 0x0093: "STYLE", 0x0094: "LHRECORD", 0x0095: "LHNGRAPH", 0x0096: "SOUND", 0x0098: "LPR", 0x0099: "STANDARDWIDTH", 0x009A: "FNGROUPNAME", 0x009B: "FILTERMODE", 0x009C: "FNGROUPCOUNT", 0x009D: "AUTOFILTERINFO", 0x009E: "AUTOFILTER", 0x00A0: "SCL", 0x00A1: "SETUP", 0x00A9: "COORDLIST", 0x00AB: "GCW", 0x00AE: "SCENMAN", 0x00AF: "SCENARIO", 0x00B0: "SXVIEW", 0x00B1: "SXVD", 0x00B2: "SXVI", 0x00B4: "SXIVD", 0x00B5: "SXLI", 0x00B6: "SXPI", 0x00B8: "DOCROUTE", 0x00B9: "RECIPNAME", 0x00BC: "SHRFMLA", 0x00BD: "MULRK", 0x00BE: "MULBLANK", 0x00C1: "MMS", 0x00C2: "ADDMENU", 0x00C3: "DELMENU", 0x00C5: "SXDI", 0x00C6: "SXDB", 0x00C7: "SXFIELD", 0x00C8: "SXINDEXLIST", 0x00C9: "SXDOUBLE", 0x00CD: "SXSTRING", 0x00CE: "SXDATETIME", 0x00D0: "SXTBL", 0x00D1: "SXTBRGITEM", 0x00D2: "SXTBPG", 0x00D3: "OBPROJ", 0x00D5: "SXIDSTM", 0x00D6: "RSTRING", 0x00D7: "DBCELL", 0x00DA: "BOOKBOOL", 0x00DC: "SXEXT|PARAMQRY", 0x00DD: "SCENPROTECT", 0x00DE: "OLESIZE", 0x00DF: "UDDESC", 0x00E0: "XF", 0x00E1: "INTERFACEHDR", 0x00E2: "INTERFACEEND", 0x00E3: "SXVS", 0x00E5: "MERGEDCELLS", 0x00E9: "BITMAP", 0x00EB: "MSODRAWINGGROUP", 0x00EC: "MSODRAWING", 0x00ED: "MSODRAWINGSELECTION", 0x00F0: "SXRULE", 0x00F1: "SXEX", 0x00F2: "SXFILT", 0x00F6: "SXNAME", 0x00F7: "SXSELECT", 0x00F8: "SXPAIR", 0x00F9: "SXFMLA", 0x00FB: "SXFORMAT", 0x00FC: "SST", 0x00FD: "LABELSST", 0x00FF: "EXTSST", 0x0100: "SXVDEX", 0x0103: "SXFORMULA", 0x0122: "SXDBEX", 0x0137: "CHTRINSERT", 0x0138: "CHTRINFO", 0x013B: "CHTRCELLCONTENT", 0x013D: "TABID", 0x0140: "CHTRMOVERANGE", 0x014D: "CHTRINSERTTAB", 0x015F: "LABELRANGES", 0x0160: "USESELFS", 0x0161: "DSF", 0x0162: "XL5MODIFY", 0x0196: "CHTRHEADER", 0x01A9: "USERBVIEW", 0x01AA: "USERSVIEWBEGIN", 0x01AB: "USERSVIEWEND", 0x01AD: "QSI", 0x01AE: "SUPBOOK", 0x01AF: "PROT4REV", 0x01B0: "CONDFMT", 0x01B1: "CF", 0x01B2: "DVAL", 0x01B5: "DCONBIN", 0x01B6: "TXO", 0x01B7: "REFRESHALL", 0x01B8: "HLINK", 0x01BA: "CODENAME", 0x01BB: "SXFDBTYPE", 0x01BC: "PROT4REVPASS", 0x01BE: "DV", 0x01C0: "XL9FILE", 0x01C1: "RECALCID", 0x0200: "DIMENSIONS", 0x0201: "BLANK", 0x0203: "NUMBER", 0x0204: "LABEL", 0x0205: "BOOLERR", 0x0206: "FORMULA", 0x0207: "STRING", 0x0208: "ROW", 0x0209: "BOF", 0x020B: "INDEX", 0x0218: "NAME", 0x0221: "ARRAY", 0x0223: "EXTERNNAME", 0x0225: "DEFAULTROWHEIGHT", 0x0231: "FONT", 0x0236: "TABLE", 0x023E: "WINDOW2", 0x0243: "XF", 0x027E: "RK", 0x0293: "STYLE", 0x0406: "FORMULA", 0x0409: "BOF", 0x041E: "FORMAT", 0x0443: "XF", 0x04BC: "SHRFMLA", 0x0800: "SCREENTIP", 0x0803: "WEBQRYSETTINGS", 0x0804: "WEBQRYTABLES", 0x0809: "BOF", 0x0862: "SHEETLAYOUT", 0x0867: "SHEETPROTECTION", 0x1001: "UNITS", 0x1002: "ChartChart", 0x1003: "ChartSeries", 0x1006: "ChartDataformat", 0x1007: "ChartLineformat", 0x1009: "ChartMarkerformat", 0x100A: "ChartAreaformat", 0x100B: "ChartPieformat", 0x100C: "ChartAttachedlabel", 0x100D: "ChartSeriestext", 0x1014: "ChartChartformat", 0x1015: "ChartLegend", 0x1016: "ChartSerieslist", 0x1017: "ChartBar", 0x1018: "ChartLine", 0x1019: "ChartPie", 0x101A: "ChartArea", 0x101B: "ChartScatter", 0x101C: "ChartChartline", 0x101D: "ChartAxis", 0x101E: "ChartTick", 0x101F: "ChartValuerange", 0x1020: "ChartCatserrange", 0x1021: "ChartAxislineformat", 0x1022: "ChartFormatlink", 0x1024: "ChartDefaulttext", 0x1025: "ChartText", 0x1026: "ChartFontx", 0x1027: "ChartObjectLink", 0x1032: "ChartFrame", 0x1033: "BEGIN", 0x1034: "END", 0x1035: "ChartPlotarea", 0x103A: "Chart3D", 0x103C: "ChartPicf", 0x103D: "ChartDropbar", 0x103E: "ChartRadar", 0x103F: "ChartSurface", 0x1040: "ChartRadararea", 0x1041: "ChartAxisparent", 0x1043: "ChartLegendxn", 0x1044: "ChartShtprops", 0x1045: "ChartSertocrt", 0x1046: "ChartAxesused", 0x1048: "ChartSbaseref", 0x104A: "ChartSerparent", 0x104B: "ChartSerauxtrend", 0x104E: "ChartIfmt", 0x104F: "ChartPos", 0x1050: "ChartAlruns", 0x1051: "ChartAI", 0x105B: "ChartSerauxerrbar", 0x105D: "ChartSerfmt", 0x105F: "Chart3DDataFormat", 0x1060: "ChartFbi", 0x1061: "ChartBoppop", 0x1062: "ChartAxcext", 0x1063: "ChartDat", 0x1064: "ChartPlotgrowth", 0x1065: "ChartSiindex", 0x1066: "ChartGelframe", 0x1067: "ChartBoppcustom", 0xFFFF: "" } all_funcs_by_name = { # Includes Analysis ToolPak aka ATP aka add-in aka xcall functions, # distinguished by -ve opcode. # name: (opcode, min # args, max # args, func return type, func arg types) # + in func arg types means more of the same. 'ABS' : ( 24, 1, 1, 'V', 'V'), 'ACCRINT' : ( -1, 6, 7, 'V', 'VVVVVVV'), 'ACCRINTM' : ( -1, 3, 5, 'V', 'VVVVV'), 'ACOS' : ( 99, 1, 1, 'V', 'V'), 'ACOSH' : (233, 1, 1, 'V', 'V'), 'ADDRESS' : (219, 2, 5, 'V', 'VVVVV'), 'AMORDEGRC' : ( -1, 7, 7, 'V', 'VVVVVVV'), 'AMORLINC' : ( -1, 7, 7, 'V', 'VVVVVVV'), 'AND' : ( 36, 1, 30, 'V', 'D+'), 'AREAS' : ( 75, 1, 1, 'V', 'R'), 'ASC' : (214, 1, 1, 'V', 'V'), 'ASIN' : ( 98, 1, 1, 'V', 'V'), 'ASINH' : (232, 1, 1, 'V', 'V'), 'ATAN' : ( 18, 1, 1, 'V', 'V'), 'ATAN2' : ( 97, 2, 2, 'V', 'VV'), 'ATANH' : (234, 1, 1, 'V', 'V'), 'AVEDEV' : (269, 1, 30, 'V', 'D+'), 'AVERAGE' : ( 5, 1, 30, 'V', 'D+'), 'AVERAGEA' : (361, 1, 30, 'V', 'D+'), 'BAHTTEXT' : (368, 1, 1, 'V', 'V'), 'BESSELI' : ( -1, 2, 2, 'V', 'VV'), 'BESSELJ' : ( -1, 2, 2, 'V', 'VV'), 'BESSELK' : ( -1, 2, 2, 'V', 'VV'), 'BESSELY' : ( -1, 2, 2, 'V', 'VV'), 'BETADIST' : (270, 3, 5, 'V', 'VVVVV'), 'BETAINV' : (272, 3, 5, 'V', 'VVVVV'), 'BIN2DEC' : ( -1, 1, 1, 'V', 'V'), 'BIN2HEX' : ( -1, 1, 2, 'V', 'VV'), 'BIN2OCT' : ( -1, 1, 2, 'V', 'VV'), 'BINOMDIST' : (273, 4, 4, 'V', 'VVVV'), 'CEILING' : (288, 2, 2, 'V', 'VV'), 'CELL' : (125, 1, 2, 'V', 'VR'), 'CHAR' : (111, 1, 1, 'V', 'V'), 'CHIDIST' : (274, 2, 2, 'V', 'VV'), 'CHIINV' : (275, 2, 2, 'V', 'VV'), 'CHITEST' : (306, 2, 2, 'V', 'AA'), 'CHOOSE' : (100, 2, 30, 'R', 'VR+'), 'CLEAN' : (162, 1, 1, 'V', 'V'), 'CODE' : (121, 1, 1, 'V', 'V'), 'COLUMN' : ( 9, 0, 1, 'V', 'R'), 'COLUMNS' : ( 77, 1, 1, 'V', 'R'), 'COMBIN' : (276, 2, 2, 'V', 'VV'), 'COMPLEX' : ( -1, 2, 3, 'V', 'VVV'), 'CONCATENATE' : (336, 1, 30, 'V', 'V+'), 'CONFIDENCE' : (277, 3, 3, 'V', 'VVV'), 'CONVERT' : ( -1, 3, 3, 'V', 'VVV'), 'CORREL' : (307, 2, 2, 'V', 'AA'), 'COS' : ( 16, 1, 1, 'V', 'V'), 'COSH' : (230, 1, 1, 'V', 'V'), 'COUNT' : ( 0, 1, 30, 'V', 'D+'), 'COUNTA' : (169, 1, 30, 'V', 'D+'), 'COUNTBLANK' : (347, 1, 1, 'V', 'R'), 'COUNTIF' : (346, 2, 2, 'V', 'RV'), 'COUPDAYBS' : ( -1, 3, 5, 'V', 'VVVVV'), 'COUPDAYS' : ( -1, 3, 5, 'V', 'VVVVV'), 'COUPDAYSNC' : ( -1, 3, 5, 'V', 'VVVVV'), 'COUPNCD' : ( -1, 3, 5, 'V', 'VVVVV'), 'COUPNUM' : ( -1, 3, 5, 'V', 'VVVVV'), 'COUPPCD' : ( -1, 3, 5, 'V', 'VVVVV'), 'COVAR' : (308, 2, 2, 'V', 'AA'), 'CRITBINOM' : (278, 3, 3, 'V', 'VVV'), 'CUMIPMT' : ( -1, 6, 6, 'V', 'VVVVVV'), 'CUMPRINC' : ( -1, 6, 6, 'V', 'VVVVVV'), 'DATE' : ( 65, 3, 3, 'V', 'VVV'), 'DATEDIF' : (351, 3, 3, 'V', 'VVV'), 'DATEVALUE' : (140, 1, 1, 'V', 'V'), 'DAVERAGE' : ( 42, 3, 3, 'V', 'RRR'), 'DAY' : ( 67, 1, 1, 'V', 'V'), 'DAYS360' : (220, 2, 3, 'V', 'VVV'), 'DB' : (247, 4, 5, 'V', 'VVVVV'), 'DBCS' : (215, 1, 1, 'V', 'V'), 'DCOUNT' : ( 40, 3, 3, 'V', 'RRR'), 'DCOUNTA' : (199, 3, 3, 'V', 'RRR'), 'DDB' : (144, 4, 5, 'V', 'VVVVV'), 'DEC2BIN' : ( -1, 1, 2, 'V', 'VV'), 'DEC2HEX' : ( -1, 1, 2, 'V', 'VV'), 'DEC2OCT' : ( -1, 1, 2, 'V', 'VV'), 'DEGREES' : (343, 1, 1, 'V', 'V'), 'DELTA' : ( -1, 1, 2, 'V', 'VV'), 'DEVSQ' : (318, 1, 30, 'V', 'D+'), 'DGET' : (235, 3, 3, 'V', 'RRR'), 'DISC' : ( -1, 4, 5, 'V', 'VVVVV'), 'DMAX' : ( 44, 3, 3, 'V', 'RRR'), 'DMIN' : ( 43, 3, 3, 'V', 'RRR'), 'DOLLAR' : ( 13, 1, 2, 'V', 'VV'), 'DOLLARDE' : ( -1, 2, 2, 'V', 'VV'), 'DOLLARFR' : ( -1, 2, 2, 'V', 'VV'), 'DPRODUCT' : (189, 3, 3, 'V', 'RRR'), 'DSTDEV' : ( 45, 3, 3, 'V', 'RRR'), 'DSTDEVP' : (195, 3, 3, 'V', 'RRR'), 'DSUM' : ( 41, 3, 3, 'V', 'RRR'), 'DURATION' : ( -1, 5, 6, 'V', 'VVVVVV'), 'DVAR' : ( 47, 3, 3, 'V', 'RRR'), 'DVARP' : (196, 3, 3, 'V', 'RRR'), 'EDATE' : ( -1, 2, 2, 'V', 'VV'), 'EFFECT' : ( -1, 2, 2, 'V', 'VV'), 'EOMONTH' : ( -1, 1, 2, 'V', 'VV'), 'ERF' : ( -1, 1, 2, 'V', 'VV'), 'ERFC' : ( -1, 1, 1, 'V', 'V'), 'ERROR.TYPE' : (261, 1, 1, 'V', 'V'), 'EVEN' : (279, 1, 1, 'V', 'V'), 'EXACT' : (117, 2, 2, 'V', 'VV'), 'EXP' : ( 21, 1, 1, 'V', 'V'), 'EXPONDIST' : (280, 3, 3, 'V', 'VVV'), 'FACT' : (184, 1, 1, 'V', 'V'), 'FACTDOUBLE' : ( -1, 1, 1, 'V', 'V'), 'FALSE' : ( 35, 0, 0, 'V', '-'), 'FDIST' : (281, 3, 3, 'V', 'VVV'), 'FIND' : (124, 2, 3, 'V', 'VVV'), 'FINDB' : (205, 2, 3, 'V', 'VVV'), 'FINV' : (282, 3, 3, 'V', 'VVV'), 'FISHER' : (283, 1, 1, 'V', 'V'), 'FISHERINV' : (284, 1, 1, 'V', 'V'), 'FIXED' : ( 14, 2, 3, 'V', 'VVV'), 'FLOOR' : (285, 2, 2, 'V', 'VV'), 'FORECAST' : (309, 3, 3, 'V', 'VAA'), 'FREQUENCY' : (252, 2, 2, 'A', 'RR'), 'FTEST' : (310, 2, 2, 'V', 'AA'), 'FV' : ( 57, 3, 5, 'V', 'VVVVV'), 'FVSCHEDULE' : ( -1, 2, 2, 'V', 'VA'), 'GAMMADIST' : (286, 4, 4, 'V', 'VVVV'), 'GAMMAINV' : (287, 3, 3, 'V', 'VVV'), 'GAMMALN' : (271, 1, 1, 'V', 'V'), 'GCD' : ( -1, 1, 29, 'V', 'V+'), 'GEOMEAN' : (319, 1, 30, 'V', 'D+'), 'GESTEP' : ( -1, 1, 2, 'V', 'VV'), 'GETPIVOTDATA': (358, 2, 30, 'A', 'VAV+'), 'GROWTH' : ( 52, 1, 4, 'A', 'RRRV'), 'HARMEAN' : (320, 1, 30, 'V', 'D+'), 'HEX2BIN' : ( -1, 1, 2, 'V', 'VV'), 'HEX2DEC' : ( -1, 1, 1, 'V', 'V'), 'HEX2OCT' : ( -1, 1, 2, 'V', 'VV'), 'HLOOKUP' : (101, 3, 4, 'V', 'VRRV'), 'HOUR' : ( 71, 1, 1, 'V', 'V'), 'HYPERLINK' : (359, 1, 2, 'V', 'VV'), 'HYPGEOMDIST' : (289, 4, 4, 'V', 'VVVV'), 'IF' : ( 1, 2, 3, 'R', 'VRR'), 'IMABS' : ( -1, 1, 1, 'V', 'V'), 'IMAGINARY' : ( -1, 1, 1, 'V', 'V'), 'IMARGUMENT' : ( -1, 1, 1, 'V', 'V'), 'IMCONJUGATE' : ( -1, 1, 1, 'V', 'V'), 'IMCOS' : ( -1, 1, 1, 'V', 'V'), 'IMDIV' : ( -1, 2, 2, 'V', 'VV'), 'IMEXP' : ( -1, 1, 1, 'V', 'V'), 'IMLN' : ( -1, 1, 1, 'V', 'V'), 'IMLOG10' : ( -1, 1, 1, 'V', 'V'), 'IMLOG2' : ( -1, 1, 1, 'V', 'V'), 'IMPOWER' : ( -1, 2, 2, 'V', 'VV'), 'IMPRODUCT' : ( -1, 2, 2, 'V', 'VV'), 'IMREAL' : ( -1, 1, 1, 'V', 'V'), 'IMSIN' : ( -1, 1, 1, 'V', 'V'), 'IMSQRT' : ( -1, 1, 1, 'V', 'V'), 'IMSUB' : ( -1, 2, 2, 'V', 'VV'), 'IMSUM' : ( -1, 1, 29, 'V', 'V+'), 'INDEX' : ( 29, 2, 4, 'R', 'RVVV'), 'INDIRECT' : (148, 1, 2, 'R', 'VV'), 'INFO' : (244, 1, 1, 'V', 'V'), 'INT' : ( 25, 1, 1, 'V', 'V'), 'INTERCEPT' : (311, 2, 2, 'V', 'AA'), 'INTRATE' : ( -1, 4, 5, 'V', 'VVVVV'), 'IPMT' : (167, 4, 6, 'V', 'VVVVVV'), 'IRR' : ( 62, 1, 2, 'V', 'RV'), 'ISBLANK' : (129, 1, 1, 'V', 'V'), 'ISERR' : (126, 1, 1, 'V', 'V'), 'ISERROR' : ( 3, 1, 1, 'V', 'V'), 'ISEVEN' : ( -1, 1, 1, 'V', 'V'), 'ISLOGICAL' : (198, 1, 1, 'V', 'V'), 'ISNA' : ( 2, 1, 1, 'V', 'V'), 'ISNONTEXT' : (190, 1, 1, 'V', 'V'), 'ISNUMBER' : (128, 1, 1, 'V', 'V'), 'ISODD' : ( -1, 1, 1, 'V', 'V'), 'ISPMT' : (350, 4, 4, 'V', 'VVVV'), 'ISREF' : (105, 1, 1, 'V', 'R'), 'ISTEXT' : (127, 1, 1, 'V', 'V'), 'KURT' : (322, 1, 30, 'V', 'D+'), 'LARGE' : (325, 2, 2, 'V', 'RV'), 'LCM' : ( -1, 1, 29, 'V', 'V+'), 'LEFT' : (115, 1, 2, 'V', 'VV'), 'LEFTB' : (208, 1, 2, 'V', 'VV'), 'LEN' : ( 32, 1, 1, 'V', 'V'), 'LENB' : (211, 1, 1, 'V', 'V'), 'LINEST' : ( 49, 1, 4, 'A', 'RRVV'), 'LN' : ( 22, 1, 1, 'V', 'V'), 'LOG' : (109, 1, 2, 'V', 'VV'), 'LOG10' : ( 23, 1, 1, 'V', 'V'), 'LOGEST' : ( 51, 1, 4, 'A', 'RRVV'), 'LOGINV' : (291, 3, 3, 'V', 'VVV'), 'LOGNORMDIST' : (290, 3, 3, 'V', 'VVV'), 'LOOKUP' : ( 28, 2, 3, 'V', 'VRR'), 'LOWER' : (112, 1, 1, 'V', 'V'), 'MATCH' : ( 64, 2, 3, 'V', 'VRR'), 'MAX' : ( 7, 1, 30, 'V', 'D+'), 'MAXA' : (362, 1, 30, 'V', 'D+'), 'MDETERM' : (163, 1, 1, 'V', 'A'), 'MDURATION' : ( -1, 5, 6, 'V', 'VVVVVV'), 'MEDIAN' : (227, 1, 30, 'V', 'D+'), 'MID' : ( 31, 3, 3, 'V', 'VVV'), 'MIDB' : (210, 3, 3, 'V', 'VVV'), 'MIN' : ( 6, 1, 30, 'V', 'D+'), 'MINA' : (363, 1, 30, 'V', 'D+'), 'MINUTE' : ( 72, 1, 1, 'V', 'V'), 'MINVERSE' : (164, 1, 1, 'A', 'A'), 'MIRR' : ( 61, 3, 3, 'V', 'RVV'), 'MMULT' : (165, 2, 2, 'A', 'AA'), 'MOD' : ( 39, 2, 2, 'V', 'VV'), 'MODE' : (330, 1, 30, 'V', 'A+'), ################ weird ################# 'MONTH' : ( 68, 1, 1, 'V', 'V'), 'MROUND' : ( -1, 2, 2, 'V', 'VV'), 'MULTINOMIAL' : ( -1, 1, 29, 'V', 'V+'), 'N' : (131, 1, 1, 'V', 'R'), 'NA' : ( 10, 0, 0, 'V', '-'), 'NEGBINOMDIST': (292, 3, 3, 'V', 'VVV'), 'NETWORKDAYS' : ( -1, 2, 3, 'V', 'VVR'), 'NOMINAL' : ( -1, 2, 2, 'V', 'VV'), 'NORMDIST' : (293, 4, 4, 'V', 'VVVV'), 'NORMINV' : (295, 3, 3, 'V', 'VVV'), 'NORMSDIST' : (294, 1, 1, 'V', 'V'), 'NORMSINV' : (296, 1, 1, 'V', 'V'), 'NOT' : ( 38, 1, 1, 'V', 'V'), 'NOW' : ( 74, 0, 0, 'V', '-'), 'NPER' : ( 58, 3, 5, 'V', 'VVVVV'), 'NPV' : ( 11, 2, 30, 'V', 'VD+'), 'OCT2BIN' : ( -1, 1, 2, 'V', 'VV'), 'OCT2DEC' : ( -1, 1, 1, 'V', 'V'), 'OCT2HEX' : ( -1, 1, 2, 'V', 'VV'), 'ODD' : (298, 1, 1, 'V', 'V'), 'ODDFPRICE' : ( -1, 9, 9, 'V', 'VVVVVVVVV'), 'ODDFYIELD' : ( -1, 9, 9, 'V', 'VVVVVVVVV'), 'ODDLPRICE' : ( -1, 8, 8, 'V', 'VVVVVVVV'), 'ODDLYIELD' : ( -1, 8, 8, 'V', 'VVVVVVVV'), 'OFFSET' : ( 78, 3, 5, 'R', 'RVVVV'), 'OR' : ( 37, 1, 30, 'V', 'D+'), 'PEARSON' : (312, 2, 2, 'V', 'AA'), 'PERCENTILE' : (328, 2, 2, 'V', 'RV'), 'PERCENTRANK' : (329, 2, 3, 'V', 'RVV'), 'PERMUT' : (299, 2, 2, 'V', 'VV'), 'PHONETIC' : (360, 1, 1, 'V', 'R'), 'PI' : ( 19, 0, 0, 'V', '-'), 'PMT' : ( 59, 3, 5, 'V', 'VVVVV'), 'POISSON' : (300, 3, 3, 'V', 'VVV'), 'POWER' : (337, 2, 2, 'V', 'VV'), 'PPMT' : (168, 4, 6, 'V', 'VVVVVV'), 'PRICE' : ( -1, 6, 7, 'V', 'VVVVVVV'), 'PRICEDISC' : ( -1, 4, 5, 'V', 'VVVVV'), 'PRICEMAT' : ( -1, 5, 6, 'V', 'VVVVVV'), 'PROB' : (317, 3, 4, 'V', 'AAVV'), 'PRODUCT' : (183, 1, 30, 'V', 'D+'), 'PROPER' : (114, 1, 1, 'V', 'V'), 'PV' : ( 56, 3, 5, 'V', 'VVVVV'), 'QUARTILE' : (327, 2, 2, 'V', 'RV'), 'QUOTIENT' : ( -1, 2, 2, 'V', 'VV'), 'RADIANS' : (342, 1, 1, 'V', 'V'), 'RAND' : ( 63, 0, 0, 'V', '-'), 'RANDBETWEEN' : ( -1, 2, 2, 'V', 'VV'), 'RANK' : (216, 2, 3, 'V', 'VRV'), 'RATE' : ( 60, 3, 6, 'V', 'VVVVVV'), 'RECEIVED' : ( -1, 4, 5, 'V', 'VVVVV'), 'REPLACE' : (119, 4, 4, 'V', 'VVVV'), 'REPLACEB' : (207, 4, 4, 'V', 'VVVV'), 'REPT' : ( 30, 2, 2, 'V', 'VV'), 'RIGHT' : (116, 1, 2, 'V', 'VV'), 'RIGHTB' : (209, 1, 2, 'V', 'VV'), 'ROMAN' : (354, 1, 2, 'V', 'VV'), 'ROUND' : ( 27, 2, 2, 'V', 'VV'), 'ROUNDDOWN' : (213, 2, 2, 'V', 'VV'), 'ROUNDUP' : (212, 2, 2, 'V', 'VV'), 'ROW' : ( 8, 0, 1, 'V', 'R'), 'ROWS' : ( 76, 1, 1, 'V', 'R'), 'RSQ' : (313, 2, 2, 'V', 'AA'), 'RTD' : (379, 3, 30, 'A', 'VVV+'), 'SEARCH' : ( 82, 2, 3, 'V', 'VVV'), 'SEARCHB' : (206, 2, 3, 'V', 'VVV'), 'SECOND' : ( 73, 1, 1, 'V', 'V'), 'SERIESSUM' : ( -1, 4, 4, 'V', 'VVVA'), 'SIGN' : ( 26, 1, 1, 'V', 'V'), 'SIN' : ( 15, 1, 1, 'V', 'V'), 'SINH' : (229, 1, 1, 'V', 'V'), 'SKEW' : (323, 1, 30, 'V', 'D+'), 'SLN' : (142, 3, 3, 'V', 'VVV'), 'SLOPE' : (315, 2, 2, 'V', 'AA'), 'SMALL' : (326, 2, 2, 'V', 'RV'), 'SQRT' : ( 20, 1, 1, 'V', 'V'), 'SQRTPI' : ( -1, 1, 1, 'V', 'V'), 'STANDARDIZE' : (297, 3, 3, 'V', 'VVV'), 'STDEV' : ( 12, 1, 30, 'V', 'D+'), 'STDEVA' : (366, 1, 30, 'V', 'D+'), 'STDEVP' : (193, 1, 30, 'V', 'D+'), 'STDEVPA' : (364, 1, 30, 'V', 'D+'), 'STEYX' : (314, 2, 2, 'V', 'AA'), 'SUBSTITUTE' : (120, 3, 4, 'V', 'VVVV'), 'SUBTOTAL' : (344, 2, 30, 'V', 'VR+'), 'SUM' : ( 4, 1, 30, 'V', 'D+'), 'SUMIF' : (345, 2, 3, 'V', 'RVR'), 'SUMPRODUCT' : (228, 1, 30, 'V', 'A+'), 'SUMSQ' : (321, 1, 30, 'V', 'D+'), 'SUMX2MY2' : (304, 2, 2, 'V', 'AA'), 'SUMX2PY2' : (305, 2, 2, 'V', 'AA'), 'SUMXMY2' : (303, 2, 2, 'V', 'AA'), 'SYD' : (143, 4, 4, 'V', 'VVVV'), 'T' : (130, 1, 1, 'V', 'R'), 'TAN' : ( 17, 1, 1, 'V', 'V'), 'TANH' : (231, 1, 1, 'V', 'V'), 'TBILLEQ' : ( -1, 3, 3, 'V', 'VVV'), 'TBILLPRICE' : ( -1, 3, 3, 'V', 'VVV'), 'TBILLYIELD' : ( -1, 3, 3, 'V', 'VVV'), 'TDIST' : (301, 3, 3, 'V', 'VVV'), 'TEXT' : ( 48, 2, 2, 'V', 'VV'), 'TIME' : ( 66, 3, 3, 'V', 'VVV'), 'TIMEVALUE' : (141, 1, 1, 'V', 'V'), 'TINV' : (332, 2, 2, 'V', 'VV'), 'TODAY' : (221, 0, 0, 'V', '-'), 'TRANSPOSE' : ( 83, 1, 1, 'A', 'A'), 'TREND' : ( 50, 1, 4, 'A', 'RRRV'), 'TRIM' : (118, 1, 1, 'V', 'V'), 'TRIMMEAN' : (331, 2, 2, 'V', 'RV'), 'TRUE' : ( 34, 0, 0, 'V', '-'), 'TRUNC' : (197, 1, 2, 'V', 'VV'), 'TTEST' : (316, 4, 4, 'V', 'AAVV'), 'TYPE' : ( 86, 1, 1, 'V', 'V'), 'UPPER' : (113, 1, 1, 'V', 'V'), 'USDOLLAR' : (204, 1, 2, 'V', 'VV'), 'VALUE' : ( 33, 1, 1, 'V', 'V'), 'VAR' : ( 46, 1, 30, 'V', 'D+'), 'VARA' : (367, 1, 30, 'V', 'D+'), 'VARP' : (194, 1, 30, 'V', 'D+'), 'VARPA' : (365, 1, 30, 'V', 'D+'), 'VDB' : (222, 5, 7, 'V', 'VVVVVVV'), 'VLOOKUP' : (102, 3, 4, 'V', 'VRRV'), 'WEEKDAY' : ( 70, 1, 2, 'V', 'VV'), 'WEEKNUM' : ( -1, 1, 2, 'V', 'VV'), 'WEIBULL' : (302, 4, 4, 'V', 'VVVV'), 'WORKDAY' : ( -1, 2, 3, 'V', 'VVR'), 'XIRR' : ( -1, 2, 3, 'V', 'AAV'), 'XNPV' : ( -1, 3, 3, 'V', 'VAA'), 'YEAR' : ( 69, 1, 1, 'V', 'V'), 'YEARFRAC' : ( -1, 2, 3, 'V', 'VVV'), 'YIELD' : ( -1, 6, 7, 'V', 'VVVVVVV'), 'YIELDDISC' : ( -1, 4, 5, 'V', 'VVVVV'), 'YIELDMAT' : ( -1, 5, 6, 'V', 'VVVVVV'), 'ZTEST' : (324, 2, 3, 'V', 'RVV'), } # Formulas Parse things ptgExp = 0x01 ptgTbl = 0x02 ptgAdd = 0x03 ptgSub = 0x04 ptgMul = 0x05 ptgDiv = 0x06 ptgPower = 0x07 ptgConcat = 0x08 ptgLT = 0x09 ptgLE = 0x0a ptgEQ = 0x0b ptgGE = 0x0c ptgGT = 0x0d ptgNE = 0x0e ptgIsect = 0x0f ptgUnion = 0x10 ptgRange = 0x11 ptgUplus = 0x12 ptgUminus = 0x13 ptgPercent = 0x14 ptgParen = 0x15 ptgMissArg = 0x16 ptgStr = 0x17 ptgExtend = 0x18 ptgAttr = 0x19 ptgSheet = 0x1a ptgEndSheet = 0x1b ptgErr = 0x1c ptgBool = 0x1d ptgInt = 0x1e ptgNum = 0x1f ptgArrayR = 0x20 ptgFuncR = 0x21 ptgFuncVarR = 0x22 ptgNameR = 0x23 ptgRefR = 0x24 ptgAreaR = 0x25 ptgMemAreaR = 0x26 ptgMemErrR = 0x27 ptgMemNoMemR = 0x28 ptgMemFuncR = 0x29 ptgRefErrR = 0x2a ptgAreaErrR = 0x2b ptgRefNR = 0x2c ptgAreaNR = 0x2d ptgMemAreaNR = 0x2e ptgMemNoMemNR = 0x2f ptgNameXR = 0x39 ptgRef3dR = 0x3a ptgArea3dR = 0x3b ptgRefErr3dR = 0x3c ptgAreaErr3dR = 0x3d ptgArrayV = 0x40 ptgFuncV = 0x41 ptgFuncVarV = 0x42 ptgNameV = 0x43 ptgRefV = 0x44 ptgAreaV = 0x45 ptgMemAreaV = 0x46 ptgMemErrV = 0x47 ptgMemNoMemV = 0x48 ptgMemFuncV = 0x49 ptgRefErrV = 0x4a ptgAreaErrV = 0x4b ptgRefNV = 0x4c ptgAreaNV = 0x4d ptgMemAreaNV = 0x4e ptgMemNoMemNV = 0x4f ptgFuncCEV = 0x58 ptgNameXV = 0x59 ptgRef3dV = 0x5a ptgArea3dV = 0x5b ptgRefErr3dV = 0x5c ptgAreaErr3dV = 0x5d ptgArrayA = 0x60 ptgFuncA = 0x61 ptgFuncVarA = 0x62 ptgNameA = 0x63 ptgRefA = 0x64 ptgAreaA = 0x65 ptgMemAreaA = 0x66 ptgMemErrA = 0x67 ptgMemNoMemA = 0x68 ptgMemFuncA = 0x69 ptgRefErrA = 0x6a ptgAreaErrA = 0x6b ptgRefNA = 0x6c ptgAreaNA = 0x6d ptgMemAreaNA = 0x6e ptgMemNoMemNA = 0x6f ptgFuncCEA = 0x78 ptgNameXA = 0x79 ptgRef3dA = 0x7a ptgArea3dA = 0x7b ptgRefErr3dA = 0x7c ptgAreaErr3dA = 0x7d PtgNames = { ptgExp : "ptgExp", ptgTbl : "ptgTbl", ptgAdd : "ptgAdd", ptgSub : "ptgSub", ptgMul : "ptgMul", ptgDiv : "ptgDiv", ptgPower : "ptgPower", ptgConcat : "ptgConcat", ptgLT : "ptgLT", ptgLE : "ptgLE", ptgEQ : "ptgEQ", ptgGE : "ptgGE", ptgGT : "ptgGT", ptgNE : "ptgNE", ptgIsect : "ptgIsect", ptgUnion : "ptgUnion", ptgRange : "ptgRange", ptgUplus : "ptgUplus", ptgUminus : "ptgUminus", ptgPercent : "ptgPercent", ptgParen : "ptgParen", ptgMissArg : "ptgMissArg", ptgStr : "ptgStr", ptgExtend : "ptgExtend", ptgAttr : "ptgAttr", ptgSheet : "ptgSheet", ptgEndSheet : "ptgEndSheet", ptgErr : "ptgErr", ptgBool : "ptgBool", ptgInt : "ptgInt", ptgNum : "ptgNum", ptgArrayR : "ptgArrayR", ptgFuncR : "ptgFuncR", ptgFuncVarR : "ptgFuncVarR", ptgNameR : "ptgNameR", ptgRefR : "ptgRefR", ptgAreaR : "ptgAreaR", ptgMemAreaR : "ptgMemAreaR", ptgMemErrR : "ptgMemErrR", ptgMemNoMemR : "ptgMemNoMemR", ptgMemFuncR : "ptgMemFuncR", ptgRefErrR : "ptgRefErrR", ptgAreaErrR : "ptgAreaErrR", ptgRefNR : "ptgRefNR", ptgAreaNR : "ptgAreaNR", ptgMemAreaNR : "ptgMemAreaNR", ptgMemNoMemNR : "ptgMemNoMemNR", ptgNameXR : "ptgNameXR", ptgRef3dR : "ptgRef3dR", ptgArea3dR : "ptgArea3dR", ptgRefErr3dR : "ptgRefErr3dR", ptgAreaErr3dR : "ptgAreaErr3dR", ptgArrayV : "ptgArrayV", ptgFuncV : "ptgFuncV", ptgFuncVarV : "ptgFuncVarV", ptgNameV : "ptgNameV", ptgRefV : "ptgRefV", ptgAreaV : "ptgAreaV", ptgMemAreaV : "ptgMemAreaV", ptgMemErrV : "ptgMemErrV", ptgMemNoMemV : "ptgMemNoMemV", ptgMemFuncV : "ptgMemFuncV", ptgRefErrV : "ptgRefErrV", ptgAreaErrV : "ptgAreaErrV", ptgRefNV : "ptgRefNV", ptgAreaNV : "ptgAreaNV", ptgMemAreaNV : "ptgMemAreaNV", ptgMemNoMemNV : "ptgMemNoMemNV", ptgFuncCEV : "ptgFuncCEV", ptgNameXV : "ptgNameXV", ptgRef3dV : "ptgRef3dV", ptgArea3dV : "ptgArea3dV", ptgRefErr3dV : "ptgRefErr3dV", ptgAreaErr3dV : "ptgAreaErr3dV", ptgArrayA : "ptgArrayA", ptgFuncA : "ptgFuncA", ptgFuncVarA : "ptgFuncVarA", ptgNameA : "ptgNameA", ptgRefA : "ptgRefA", ptgAreaA : "ptgAreaA", ptgMemAreaA : "ptgMemAreaA", ptgMemErrA : "ptgMemErrA", ptgMemNoMemA : "ptgMemNoMemA", ptgMemFuncA : "ptgMemFuncA", ptgRefErrA : "ptgRefErrA", ptgAreaErrA : "ptgAreaErrA", ptgRefNA : "ptgRefNA", ptgAreaNA : "ptgAreaNA", ptgMemAreaNA : "ptgMemAreaNA", ptgMemNoMemNA : "ptgMemNoMemNA", ptgFuncCEA : "ptgFuncCEA", ptgNameXA : "ptgNameXA", ptgRef3dA : "ptgRef3dA", ptgArea3dA : "ptgArea3dA", ptgRefErr3dA : "ptgRefErr3dA", ptgAreaErr3dA : "ptgAreaErr3dA" } error_msg_by_code = { 0x00: u"#NULL!", # intersection of two cell ranges is empty 0x07: u"#DIV/0!", # division by zero 0x0F: u"#VALUE!", # wrong type of operand 0x17: u"#REF!", # illegal or deleted cell reference 0x1D: u"#NAME?", # wrong function or range name 0x24: u"#NUM!", # value range overflow 0x2A: u"#N/A!" # argument or function not available }