⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 funcptg.java

📁 Office格式转换代码
💻 JAVA
字号:
package org.apache.poi.hssf.record.formula;import org.apache.poi.util.LittleEndian;/** * @author aviks * @author Jason Height (jheight at chariot dot net dot au) * @author Danny Mui (dmui at apache dot org) (Leftover handling) */public class FuncPtg extends AbstractFunctionPtg{        public final static byte sid  = 0x21;    public final static int  SIZE = 3;    private int numParams=0;        /**     * FuncPtgs are defined to be 4 bytes but the actual FuncPtg uses only 2 bytes.     * If we have leftOvers that are read from the file we should serialize them back out.     * <p>     * If the leftovers are removed, a prompt "Warning: Data may have been lost occurs in Excel"     */	//protected byte[] leftOvers = null;        private FuncPtg() {      //Required for clone methods          }    /**Creates new function pointer from a byte array      * usually called while reading an excel file.      */    public FuncPtg(byte[] data, int offset) {        offset++;        //field_1_num_args = data[ offset + 0 ];        field_2_fnc_index  = LittleEndian.getShort(data,offset + 0 );              /*          if (data.length - offset > 2) { //save left overs if there are any			leftOvers = new byte[2];        	System.arraycopy(data, offset+1, leftOvers, 0, leftOvers.length);        }        */	        try {            numParams = ( (Integer)functionData[field_2_fnc_index][2]).intValue();        } catch (NullPointerException npe) {            numParams=0;        }               }         public void writeBytes(byte[] array, int offset) {        array[offset+0]= (byte) (sid + ptgClass);        //array[offset+1]=field_1_num_args;        LittleEndian.putShort(array,offset+1,field_2_fnc_index);        /**if (leftOvers != null) {        	System.arraycopy(leftOvers, 0, array, offset+2, leftOvers.length);        }**/    }         public int getNumberOfOperands() {        return numParams;    }    public Object clone() {      FuncPtg ptg = new FuncPtg();      //ptg.field_1_num_args = field_1_num_args;      ptg.field_2_fnc_index = field_2_fnc_index;      ptg.setClass(ptgClass);     return ptg;    }        public int getSize() {        return SIZE;    }        public String toString() {        StringBuffer buffer = new StringBuffer();        buffer        .append("<FunctionPtg>").append("\n")        .append("   numArgs(internal)=").append(this.numParams).append("\n")        .append("      name         =").append(lookupName(field_2_fnc_index)).append("\n")        .append("   field_2_fnc_index=").append(field_2_fnc_index).append("\n")        .append("</FunctionPtg>");        return buffer.toString();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -