亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ptg.java

?? java 報表 to office文檔: 本包由java語言開發
?? JAVA
字號:
/* ====================================================================   Copyright 2003-2004   Apache Software Foundation   Licensed under the Apache License, Version 2.0 (the "License");   you may not use this file except in compliance with the License.   You may obtain a copy of the License at       http://www.apache.org/licenses/LICENSE-2.0   Unless required by applicable law or agreed to in writing, software   distributed under the License is distributed on an "AS IS" BASIS,   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   See the License for the specific language governing permissions and   limitations under the License.==================================================================== */package org.apache.poi.hssf.record.formula;import java.util.List;import java.util.ArrayList;import org.apache.poi.hssf.model.Workbook;/** * * @author  andy * @author avik * @author Jason Height (jheight at chariot dot net dot au) */public abstract class Ptg{            /* convert infix order ptg list to rpn order ptg list     * @return List ptgs in RPN order     * @param infixPtgs List of ptgs in infix order     */        /* DO NOT REMOVE     *we keep this method in case we wish to change the way we parse     *It needs a getPrecedence in OperationsPtg        public static List ptgsToRpn(List infixPtgs) {        java.util.Stack operands = new java.util.Stack();        java.util.List retval = new java.util.Stack();                java.util.ListIterator i = infixPtgs.listIterator();        Object p;        OperationPtg o ;        boolean weHaveABracket = false;        while (i.hasNext()) {            p=i.next();            if (p instanceof OperationPtg) {                if (p instanceof ParenthesisPtg) {                    if (!weHaveABracket) {                        operands.push(p);                        weHaveABracket = true;                    } else {                        o = (OperationPtg) operands.pop();                        while (!(o instanceof ParenthesisPtg)) {                             retval.add(o);                        }                        weHaveABracket = false;                    }                } else {                                        while  (!operands.isEmpty() && ((OperationPtg) operands.peek()).getPrecedence() >= ((OperationPtg) p).getPrecedence() ) { //TODO handle ^ since it is right associative                        retval.add(operands.pop());                    }                    operands.push(p);                }            } else {                retval.add(p);            }        }        while (!operands.isEmpty()) {            if (operands.peek() instanceof ParenthesisPtg ){                //throw some error            } else {                retval.add(operands.pop());            }           }        return retval;    }    */        public static Ptg createPtg(byte [] data, int offset)    {        byte id     = data[ offset + 0 ];        Ptg  retval = null;        final byte valueRef = ReferencePtg.sid + 0x20;        final byte arrayRef = ReferencePtg.sid + 0x40;        final byte valueFunc = FuncPtg.sid + 0x20;        final byte arrayFunc = FuncPtg.sid + 0x40;        final byte valueFuncVar = FuncVarPtg.sid +0x20;        final byte arrayFuncVar = FuncVarPtg.sid+0x40;        final byte valueArea = AreaPtg.sid + 0x20;        final byte arrayArea = AreaPtg.sid + 0x40;        switch (id)        {            case AddPtg.sid :                retval = new AddPtg(data, offset);                break;            case SubtractPtg.sid :                retval = new SubtractPtg(data, offset);                break;            case BoolPtg.sid:               retval = new BoolPtg(data, offset);               break;            case IntPtg.sid :                retval = new IntPtg(data, offset);                break;            case DividePtg.sid :                retval = new DividePtg(data, offset);                break;            case MultiplyPtg.sid :                retval = new MultiplyPtg(data, offset);                break;            case PowerPtg.sid :                retval = new PowerPtg(data, offset);                break;             case EqualPtg.sid:                retval = new EqualPtg(data, offset);                break;                            case GreaterThanPtg.sid:                retval = new GreaterThanPtg(data, offset);                break;                            case LessThanPtg.sid:                retval = new LessThanPtg(data, offset);                break;			   case LessEqualPtg.sid:			       retval = new LessEqualPtg(data, offset);			       break;			                			   case GreaterEqualPtg.sid:			       retval = new GreaterEqualPtg(data, offset);			       break;			       			   case NotEqualPtg.sid:          		 retval = new NotEqualPtg(data, offset);         		 break;			                   case ConcatPtg.sid :                retval = new ConcatPtg(data, offset);                break;            case AreaPtg.sid :                retval = new AreaPtg(data, offset);                break;            case valueArea:                retval = new AreaPtg(data, offset);                break;            case arrayArea:                retval = new AreaPtg(data, offset);                break;            case MemErrPtg.sid :        // 0x27       These 3 values             case MemErrPtg.sid+0x20 :   // 0x47       documented in             case MemErrPtg.sid+0x40 :   // 0x67       openOffice.org doc.                retval = new MemErrPtg(data, offset);                break;            case AttrPtg.sid :                retval = new AttrPtg(data, offset);                break;                            case ReferencePtg.sid :                retval = new ReferencePtg(data, offset);                break;               case valueRef :                retval = new ReferencePtg(data, offset);                break;               case arrayRef :                retval = new ReferencePtg(data, offset);                break;               case ParenthesisPtg.sid :                retval = new ParenthesisPtg(data, offset);                break;            case MemFuncPtg.sid :                retval = new MemFuncPtg(data, offset);                break;            case UnionPtg.sid :                retval = new UnionPtg(data, offset);                break;            case FuncPtg.sid :                retval = new FuncPtg(data, offset);                break;                            case valueFunc :                retval = new FuncPtg(data, offset);                break;            case arrayFunc :                retval = new FuncPtg(data, offset);                break;            case FuncVarPtg.sid :                retval = new FuncVarPtg(data, offset);                break;                            case valueFuncVar :                retval = new FuncVarPtg(data, offset);                break;            case arrayFuncVar :                retval = new FuncVarPtg(data, offset);                break;                            case NumberPtg.sid :               retval = new NumberPtg(data, offset);               break;            case StringPtg.sid :               retval = new StringPtg(data, offset);               break;            case NamePtg.sid :            // 0x23     These 3 values            case NamePtg.sid+0x20 :       // 0x43     documented in            case NamePtg.sid+0x40 :       // 0x63     openOffice.org doc.                retval = new NamePtg(data, offset);                break;                            case NameXPtg.sid :            // 0x39            case NameXPtg.sid+0x20 :       // 0x45            case NameXPtg.sid+0x40 :       // 0x79                retval = new NameXPtg(data, offset);                break;            case ExpPtg.sid :                retval = new ExpPtg(data, offset);                break;            case Area3DPtg.sid :          // 0x3b     These 3 values              case Area3DPtg.sid+0x20 :     // 0x5b     documented in              case Area3DPtg.sid+0x40 :     // 0x7b     openOffice.org doc.                retval = new Area3DPtg(data, offset);                break;            case Ref3DPtg.sid:            // 0x3a     These 3 values              case Ref3DPtg.sid+0x20:       // 0x5a     documented in              case Ref3DPtg.sid+0x40:       // 0x7a     openOffice.org doc.                retval = new Ref3DPtg(data, offset);                break;                            case DeletedArea3DPtg.sid :      // 0x3c                 case DeletedArea3DPtg.sid+0x20 : // 0x5c                 case DeletedArea3DPtg.sid+0x40 : // 0x7c                     retval = new DeletedArea3DPtg(data, offset);                break;            case DeletedRef3DPtg.sid:      // 0x3d                  case DeletedRef3DPtg.sid+0x20: // 0x5d                 case DeletedRef3DPtg.sid+0x40: // 0x7d                     retval = new DeletedRef3DPtg(data, offset);                break;                            case MissingArgPtg.sid:                retval = new MissingArgPtg(data,offset);                break;            case UnaryPlusPtg.sid:                retval=new UnaryPlusPtg(data,offset);                break;            case UnaryMinusPtg.sid:                retval=new UnaryMinusPtg(data,offset);                break;            default :                 //retval = new UnknownPtg();                 throw new java.lang.UnsupportedOperationException(                        Integer.toHexString(( int ) id) + " (" + ( int ) id + ")");        }                if (id > 0x60) {            retval.setClass(CLASS_ARRAY);        } else if (id > 0x40) {            retval.setClass(CLASS_VALUE);        } else             retval.setClass(CLASS_REF);       return retval;            }    public abstract int getSize();    public final byte [] getBytes()    {        int    size  = getSize();        byte[] bytes = new byte[ size ];        writeBytes(bytes, 0);        return bytes;    }    /** write this Ptg to a byte array*/    public abstract void writeBytes(byte [] array, int offset);        /**     * return a string representation of this token alone     */    public abstract String toFormulaString(Workbook book);    /**     * dump a debug representation (hexdump) to a string     */    public String toDebugString() {        byte[] ba = new byte[getSize()];        String retval=null;        writeBytes(ba,0);                try {            retval = org.apache.poi.util.HexDump.dump(ba,0,0);        } catch (Exception e) {            e.printStackTrace();        }        return retval;    }        /** Overridden toString method to ensure object hash is not printed.     * This helps get rid of gratuitous diffs when comparing two dumps     * Subclasses may output more relevant information by overriding this method     **/    public String toString(){        return this.getClass().toString();    }        public static final byte CLASS_REF = 0x00;    public static final byte CLASS_VALUE = 0x20;    public static final byte CLASS_ARRAY = 0x40;        protected byte ptgClass = CLASS_REF; //base ptg        public void setClass(byte thePtgClass) {        ptgClass = thePtgClass;    }        /** returns the class (REF/VALUE/ARRAY) for this Ptg */    public byte getPtgClass() {        return ptgClass;    }        public abstract byte getDefaultOperandClass();    public abstract Object clone();        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av一区二区三区高| 97se狠狠狠综合亚洲狠狠| 色综合咪咪久久| 亚洲素人一区二区| 在线视频亚洲一区| 亚洲综合一区二区三区| 欧美日韩在线综合| 亚洲午夜羞羞片| 日韩视频免费观看高清完整版在线观看| 午夜精品成人在线视频| 欧美一级久久久| 国产91丝袜在线观看| 亚洲日本在线看| 精品视频一区二区三区免费| 日韩成人免费电影| 久久久久国产一区二区三区四区| 国产成人免费9x9x人网站视频| 日本一区二区三区dvd视频在线| 91丝袜美女网| 免费成人在线网站| 国产精品美女久久久久aⅴ国产馆| 91蜜桃在线免费视频| 日本欧美肥老太交大片| 国产人伦精品一区二区| 在线观看免费亚洲| 国精产品一区一区三区mba视频 | 欧美日韩午夜精品| 美女网站色91| 国产精品黄色在线观看| 91精选在线观看| 成人ar影院免费观看视频| 亚洲大片精品永久免费| 久久亚洲综合色| 欧美最猛黑人xxxxx猛交| 看电视剧不卡顿的网站| 亚洲男人天堂av网| 久久综合色综合88| 欧美撒尿777hd撒尿| 成人黄色在线看| 久久国产福利国产秒拍| 曰韩精品一区二区| 欧美国产欧美亚州国产日韩mv天天看完整 | 在线免费观看成人短视频| 九九热在线视频观看这里只有精品| 国产精品电影一区二区三区| 日韩精品一区国产麻豆| 欧美午夜电影一区| 高清在线观看日韩| 精品中文字幕一区二区| 亚洲一区二区三区四区中文字幕| 国产欧美一区二区精品仙草咪| 欧美高清性hdvideosex| 91丨九色丨黑人外教| 国产成人99久久亚洲综合精品| 免费成人你懂的| 亚洲一区二区三区影院| 最新不卡av在线| 国产精品国产三级国产| 欧美精品一区二区在线播放| 欧美精品自拍偷拍| 欧美亚洲动漫精品| 99久久国产免费看| 国产精品18久久久久久vr| 免播放器亚洲一区| 午夜精品免费在线| 亚洲成人动漫在线免费观看| 亚洲精品中文在线| 中文字幕一区日韩精品欧美| 亚洲欧美日韩精品久久久久| 国产清纯美女被跳蛋高潮一区二区久久w | 国产日韩精品一区二区浪潮av| 日韩免费视频线观看| 91精品国产综合久久香蕉的特点| 在线观看一区二区视频| 欧美亚洲精品一区| 欧美日韩久久久一区| 欧美日韩一二三区| 欧美日韩免费视频| 欧美日韩亚洲综合一区二区三区| 欧洲一区二区av| 在线免费观看视频一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91视视频在线观看入口直接观看www| 成人av电影免费观看| 97久久精品人人爽人人爽蜜臀| 99国产精品国产精品久久| 日本乱人伦aⅴ精品| 欧美日韩黄色一区二区| 欧美一区二区视频免费观看| 69堂成人精品免费视频| 欧美成人性福生活免费看| 久久久高清一区二区三区| 欧美韩日一区二区三区| 1000部国产精品成人观看| 亚洲欧洲中文日韩久久av乱码| 玉米视频成人免费看| 亚洲观看高清完整版在线观看| 午夜精品一区二区三区三上悠亚| 日本va欧美va精品发布| 狠狠色丁香婷婷综合久久片| 丰满少妇在线播放bd日韩电影| 一本大道久久a久久精品综合| 欧美视频在线一区二区三区| 欧美一级生活片| 中文字幕精品一区二区精品绿巨人| 中文字幕亚洲视频| 婷婷中文字幕综合| 国产福利不卡视频| 精品国产乱码久久久久久牛牛| 中文久久乱码一区二区| 夜色激情一区二区| 久久66热re国产| 91麻豆国产福利精品| 4438x成人网最大色成网站| 久久久久久久电影| 亚洲一区二区三区视频在线播放| 日本少妇一区二区| av电影天堂一区二区在线观看| 7878成人国产在线观看| 国产亚洲欧美中文| 五月婷婷综合激情| www.久久久久久久久| 69堂国产成人免费视频| 国产精品久久久久精k8| 青青草97国产精品免费观看| 成人免费视频app| 91精品麻豆日日躁夜夜躁| 国产精品嫩草影院com| 日韩av中文字幕一区二区三区| 国产91丝袜在线观看| 91麻豆精品国产91久久久久 | 亚洲天堂成人网| 黑人巨大精品欧美黑白配亚洲| 在线观看三级视频欧美| 国产精品丝袜在线| 青青国产91久久久久久| 99久久国产综合精品女不卡| 精品免费日韩av| 视频一区欧美精品| 国产成a人无v码亚洲福利| 日韩亚洲欧美一区二区三区| 亚洲欧美激情小说另类| 国产成人免费视频| 日韩欧美视频一区| 午夜精品久久久久久久| 色呦呦一区二区三区| 日本一区二区在线不卡| 国产一区二区三区香蕉| 91精品国产综合久久福利| 亚洲午夜激情网页| 日韩欧美www| 亚洲chinese男男1069| 97se亚洲国产综合自在线不卡| 欧美—级在线免费片| 国产综合色精品一区二区三区| 91精品免费观看| 日本伊人午夜精品| 欧美三级在线看| 一区二区成人在线| 色成人在线视频| 尤物在线观看一区| 91黄色免费版| 一区二区三区在线视频免费观看| 成人性生交大片| 国产精品毛片a∨一区二区三区| 国产剧情av麻豆香蕉精品| 亚洲精品在线免费播放| 韩国成人精品a∨在线观看| 精品欧美一区二区在线观看| 另类小说视频一区二区| 欧美精品一区男女天堂| 国产一区二区三区久久悠悠色av| 日韩美一区二区三区| 国内精品嫩模私拍在线| 2023国产精品| 成人听书哪个软件好| 国产精品―色哟哟| 91美女片黄在线观看| 亚洲制服欧美中文字幕中文字幕| 欧洲国内综合视频| 天天操天天干天天综合网| 欧美一级日韩免费不卡| 国产在线精品一区在线观看麻豆| 久久精品人人做| 91捆绑美女网站| 亚洲国产综合在线| 欧美一区二区三区小说| 国产综合久久久久影院| 国产精品素人视频| 欧日韩精品视频| 日产精品久久久久久久性色| 久久久久久久网| 成人99免费视频| 亚洲国产日韩综合久久精品| 欧美一区2区视频在线观看| 激情五月激情综合网| 国产精品福利影院| 精品视频全国免费看| 国产麻豆精品95视频| 亚洲久草在线视频|