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

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

?? rkrecord.java

?? java 報表 to office文檔: 本包由java語言開發
?? JAVA
字號:
/* ====================================================================   Copyright 2002-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;import org.apache.poi.util.LittleEndian;import org.apache.poi.hssf.util.RKUtil;/** * Title:        RK Record * Description:  An internal 32 bit number with the two most significant bits *               storing the type.  This is part of a bizarre scheme to save disk *               space and memory (gee look at all the other whole records that *               are in the file just "cause"..,far better to waste processor *               cycles on this then leave on of those "valuable" records out).<P> * We support this in READ-ONLY mode.  HSSF converts these to NUMBER records<P> * * * * REFERENCE:  PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> * @author Andrew C. Oliver (acoliver at apache dot org) * @author Jason Height (jheight at chariot dot net dot au) * @version 2.0-pre * @see org.apache.poi.hssf.record.NumberRecord */public class RKRecord    extends Record    implements CellValueRecordInterface{    public final static short sid                      = 0x27e;    public final static short RK_IEEE_NUMBER           = 0;    public final static short RK_IEEE_NUMBER_TIMES_100 = 1;    public final static short RK_INTEGER               = 2;    public final static short RK_INTEGER_TIMES_100     = 3;    //private short             field_1_row;    private int             field_1_row;    private short             field_2_col;    private short             field_3_xf_index;    private int               field_4_rk_number;    public RKRecord()    {    }    /**     * Constructs a RK record and sets its fields appropriately.     *     * @param id     id must be 0x27e or an exception will be throw upon validation     * @param size  the size of the data area of the record     * @param data  data of the record (should not contain sid/len)     */    public RKRecord(short id, short size, byte [] data)    {        super(id, size, data);    }    /**     * Constructs a RK record and sets its fields appropriately.     *     * @param id     id must be 0x27e or an exception will be throw upon validation     * @param size  the size of the data area of the record     * @param data  data of the record (should not contain sid/len)     * @param offset of the data     */    public RKRecord(short id, short size, byte [] data, int offset)    {        super(id, size, data, offset);    }    protected void validateSid(short id)    {        if (id != sid)        {            throw new RecordFormatException("NOT A valid RK RECORD");        }    }    protected void fillFields(byte [] data, short size, int offset)    {        //field_1_row       = LittleEndian.getShort(data, 0 + offset);        field_1_row       = LittleEndian.getUShort(data, 0 + offset);        field_2_col       = LittleEndian.getShort(data, 2 + offset);        field_3_xf_index  = LittleEndian.getShort(data, 4 + offset);        field_4_rk_number = LittleEndian.getInt(data, 6 + offset);    }    //public short getRow()    public int getRow()    {        return field_1_row;    }    public short getColumn()    {        return field_2_col;    }    public short getXFIndex()    {        return field_3_xf_index;    }    public int getRKField()    {        return field_4_rk_number;    }    /**     * Get the type of the number     *     * @return one of these values:     *         <OL START="0">     *             <LI>RK_IEEE_NUMBER</LI>     *             <LI>RK_IEEE_NUMBER_TIMES_100</LI>     *             <LI>RK_INTEGER</LI>     *             <LI>RK_INTEGER_TIMES_100</LI>     *         </OL>     */    public short getRKType()    {        return ( short ) (field_4_rk_number & 3);    }    /**     * Extract the value of the number     * <P>     * The mechanism for determining the value is dependent on the two     * low order bits of the raw number. If bit 1 is set, the number     * is an integer and can be cast directly as a double, otherwise,     * it's apparently the exponent and mantissa of a double (and the     * remaining low-order bits of the double's mantissa are 0's).     * <P>     * If bit 0 is set, the result of the conversion to a double is     * divided by 100; otherwise, the value is left alone.     * <P>     * [insert picture of Screwy Squirrel in full Napoleonic regalia]     *     * @return the value as a proper double (hey, it <B>could</B>     *         happen)     */    public double getRKNumber()    {        return RKUtil.decodeNumber(field_4_rk_number);    }    public String toString()    {        StringBuffer buffer = new StringBuffer();        buffer.append("[RK]\n");        buffer.append("    .row            = ")            .append(Integer.toHexString(getRow())).append("\n");        buffer.append("    .col            = ")            .append(Integer.toHexString(getColumn())).append("\n");        buffer.append("    .xfindex        = ")            .append(Integer.toHexString(getXFIndex())).append("\n");        buffer.append("    .rknumber       = ")            .append(Integer.toHexString(getRKField())).append("\n");        buffer.append("        .rktype     = ")            .append(Integer.toHexString(getRKType())).append("\n");        buffer.append("        .rknumber   = ").append(getRKNumber())            .append("\n");        buffer.append("[/RK]\n");        return buffer.toString();    }//temporarily just constructs a new number record and returns its value    public int serialize(int offset, byte [] data)    {        NumberRecord rec = new NumberRecord();        rec.setColumn(getColumn());        rec.setRow(getRow());        rec.setValue(getRKNumber());        rec.setXFIndex(getXFIndex());        return rec.serialize(offset, data);    }    /**     * Debugging main()     * <P>     * Normally I'd do this in a junit test, but let's face it -- once     * this algorithm has been tested and it works, we are never ever     * going to change it. This is driven by the Faceless Enemy's     * minions, who dare not change the algorithm out from under us.     *     * @param ignored_args command line arguments, which we blithely     *                     ignore     */    public static void main(String ignored_args[])    {        int[]    values  =        {            0x3FF00000, 0x405EC001, 0x02F1853A, 0x02F1853B, 0xFCDD699A        };        double[] rvalues =        {            1, 1.23, 12345678, 123456.78, -13149594        };        for (int j = 0; j < values.length; j++)        {            System.out.println("input = " + Integer.toHexString(values[ j ])                               + " -> " + rvalues[ j ] + ": "                               + RKUtil.decodeNumber(values[ j ]));        }    }    public short getSid()    {        return this.sid;    }    public boolean isBefore(CellValueRecordInterface i)    {        if (this.getRow() > i.getRow())        {            return false;        }        if ((this.getRow() == i.getRow())                && (this.getColumn() > i.getColumn()))        {            return false;        }        if ((this.getRow() == i.getRow())                && (this.getColumn() == i.getColumn()))        {            return false;        }        return true;    }    public boolean isAfter(CellValueRecordInterface i)    {        if (this.getRow() < i.getRow())        {            return false;        }        if ((this.getRow() == i.getRow())                && (this.getColumn() < i.getColumn()))        {            return false;        }        if ((this.getRow() == i.getRow())                && (this.getColumn() == i.getColumn()))        {            return false;        }        return true;    }    public boolean isEqual(CellValueRecordInterface i)    {        return ((this.getRow() == i.getRow())                && (this.getColumn() == i.getColumn()));    }    public boolean isInValueSection()    {        return true;    }    public boolean isValue()    {        return true;    }    public void setColumn(short col)    {    }    //public void setRow(short row)    public void setRow(int row)    {    }    /**     * NO OP!     */    public void setXFIndex(short xf)    {    }    public Object clone() {      RKRecord rec = new RKRecord();      rec.field_1_row = field_1_row;      rec.field_2_col = field_2_col;      rec.field_3_xf_index = field_3_xf_index;      rec.field_4_rk_number = field_4_rk_number;      return rec;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合在线视频| 亚洲欧美欧美一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 久久婷婷成人综合色| 91麻豆免费观看| 免费观看91视频大全| 国产精品色在线观看| 欧美日韩在线三区| 国产精品一区二区视频| 国产精品人妖ts系列视频| 欧美日韩亚州综合| 成人激情文学综合网| 午夜久久久久久| 日本一区二区高清| 欧美日本一区二区三区四区| 不卡的av中国片| 亚洲国产成人av网| 中文字幕欧美国产| 91麻豆精品国产| aa级大片欧美| 国产在线观看免费一区| 一区二区欧美视频| 国产欧美日韩不卡| 91精品啪在线观看国产60岁| 国产一区二区在线影院| 亚洲午夜精品在线| 亚洲欧美综合色| 精品国产欧美一区二区| 欧美日韩欧美一区二区| 国产99一区视频免费| 麻豆国产一区二区| 夜夜嗨av一区二区三区中文字幕| 久久人人超碰精品| 制服丝袜激情欧洲亚洲| 色综合天天综合网国产成人综合天| 久久精品国产成人一区二区三区| 亚洲无人区一区| 亚洲色图一区二区三区| 欧美韩国日本不卡| 精品日韩一区二区三区免费视频| av成人老司机| 国产在线麻豆精品观看| 日本少妇一区二区| 日日夜夜一区二区| 亚洲国产成人tv| 亚洲午夜一区二区| 亚洲综合在线视频| 亚洲一区二区视频| 亚洲色图一区二区| 国产精品乱人伦| 国产精品久久免费看| 精品捆绑美女sm三区| 欧美成人欧美edvon| 日韩一卡二卡三卡国产欧美| 欧美夫妻性生活| 欧美精选在线播放| 欧美另类久久久品| 91.xcao| 91行情网站电视在线观看高清版| 97se亚洲国产综合自在线| 成人午夜精品一区二区三区| 懂色av中文一区二区三区| 国产高清在线精品| 成人性色生活片| 成人动漫av在线| zzijzzij亚洲日本少妇熟睡| 国产精品系列在线观看| 成人黄色免费短视频| 91小视频在线| 欧美日韩视频专区在线播放| 欧美一二三四在线| 久久综合色播五月| 精品国产污污免费网站入口 | 色偷偷一区二区三区| 国产91在线观看丝袜| 99精品国产视频| 欧美日韩精品是欧美日韩精品| 91黄色激情网站| 日韩欧美123| 国产视频一区二区在线| 椎名由奈av一区二区三区| 亚洲一区影音先锋| 三级在线观看一区二区| 国产真实乱偷精品视频免| 国内精品不卡在线| 一本在线高清不卡dvd| 欧美日本在线播放| 久久久精品免费免费| 亚洲欧美日韩国产综合在线| 亚洲成人精品一区| 久久激情五月婷婷| 国产在线精品国自产拍免费| 91一区二区三区在线观看| 欧美日韩高清一区二区不卡| 久久先锋影音av鲁色资源| 亚洲图片你懂的| 免费成人在线视频观看| 成人性生交大片免费看中文| 欧美日韩成人在线一区| 国产欧美一区二区在线| 香蕉乱码成人久久天堂爱免费| 国产高清亚洲一区| 欧美日韩成人综合| 中文字幕一区在线观看视频| 日本女人一区二区三区| 成人美女在线观看| 欧美一级黄色片| 日韩伦理av电影| 激情五月激情综合网| 91黄视频在线| 欧美草草影院在线视频| 亚洲免费高清视频在线| 国产一区二区不卡| 欧美亚洲一区二区在线观看| 国产欧美久久久精品影院| 石原莉奈在线亚洲二区| 国产激情一区二区三区四区| 在线播放中文一区| 亚洲欧洲成人自拍| 国产一区二区在线看| 欧美福利视频导航| 亚洲免费电影在线| 91蝌蚪porny| 一色屋精品亚洲香蕉网站| 成人综合在线视频| 国产亚洲欧美中文| 国产传媒欧美日韩成人| 2019国产精品| 国产精品综合在线视频| 精品99一区二区| 激情六月婷婷久久| 精品国产乱码久久久久久图片| 日本va欧美va瓶| 日韩精品综合一本久道在线视频| 午夜国产精品一区| 777色狠狠一区二区三区| 午夜视频在线观看一区| 欧美色国产精品| 日本午夜精品一区二区三区电影| 在线播放中文一区| 久久精品理论片| 久久免费午夜影院| 成人免费看片app下载| 中文字幕一区二区三区av| 99精品偷自拍| 亚洲国产一二三| 91精品免费在线| 国产综合一区二区| 中文字幕一区二区三区在线播放 | 亚洲国产综合在线| 精品视频一区二区三区免费| 日本v片在线高清不卡在线观看| 精品国产一区二区三区忘忧草 | 蜜臀av性久久久久av蜜臀妖精| 日韩一级视频免费观看在线| 国产麻豆欧美日韩一区| 自拍视频在线观看一区二区| 欧美三级电影在线观看| 日av在线不卡| 中文字幕av在线一区二区三区| 一本久久精品一区二区| 日韩va欧美va亚洲va久久| 日韩精品中文字幕一区二区三区| 国产乱人伦精品一区二区在线观看| 国产精品福利一区二区| 欧美日韩亚洲另类| 国产在线播精品第三| 亚洲视频一区二区在线| 欧美一级生活片| 成人一区二区三区在线观看 | 日韩高清一区二区| 久久久久久一二三区| 91麻豆免费看片| 美女视频一区二区| 国产精品午夜在线| 欧美日韩国产美女| 大胆亚洲人体视频| 日韩精品电影一区亚洲| 国产精品欧美综合在线| 91麻豆精品国产自产在线 | 日本不卡一二三区黄网| 国产目拍亚洲精品99久久精品| 欧美视频第二页| 成人久久视频在线观看| 香蕉久久夜色精品国产使用方法 | 美洲天堂一区二卡三卡四卡视频| 欧美激情自拍偷拍| 欧美另类videos死尸| 成人精品免费看| 日韩精品免费专区| 亚洲精品成人精品456| 日韩无一区二区| 欧美性感一区二区三区| 国产黑丝在线一区二区三区| 午夜精品久久久久久久久久久| 国产精品卡一卡二卡三| 精品国产免费一区二区三区香蕉| 欧美主播一区二区三区美女| 成人av综合在线| 国产专区综合网|