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

📄 rowrecord.java

📁 Office格式转换代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2003 The Apache Software Foundation.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *        Apache Software Foundation (http://www.apache.org/)." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and *    "Apache POI" must not be used to endorse or promote products *    derived from this software without prior written permission. For *    written permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", *    "Apache POI", nor may "Apache" appear in their name, without *    prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation.  For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */package org.apache.poi.hssf.record;import org.apache.poi.util.BitField;import org.apache.poi.util.LittleEndian;/** * Title:        Row Record<P> * Description:  stores the row information for the sheet. <P> * REFERENCE:  PG 379 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 */public class RowRecord    extends Record    implements Comparable{    public final static short sid = 0x208;    //private short             field_1_row_number;    private int             field_1_row_number;    private short             field_2_first_col;    private short             field_3_last_col;   // plus 1    private short             field_4_height;    private short             field_5_optimize;   // hint field for gui, can/should be set to zero    // for generated sheets.    private short             field_6_reserved;    private short             field_7_option_flags;    private BitField          outlineLevel  = new BitField(0x07);    // bit 3 reserved    private BitField          colapsed      = new BitField(0x10);    private BitField          zeroHeight    = new BitField(0x20);    private BitField          badFontHeight = new BitField(0x40);    private BitField          formatted     = new BitField(0x80);    private short             field_8_xf_index;   // only if isFormatted    public RowRecord()    {    }    /**     * Constructs a Row record and sets its fields appropriately.     *     * @param id     id must be 0x208 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 RowRecord(short id, short size, byte [] data)    {        super(id, size, data);    }    /**     * Constructs a Row record and sets its fields appropriately.     *     * @param id     id must be 0x208 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 record data     */    public RowRecord(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 ROW RECORD");        }    }    protected void fillFields(byte [] data, short size, int offset)    {        //field_1_row_number   = LittleEndian.getShort(data, 0 + offset);        field_1_row_number   = LittleEndian.getUShort(data, 0 + offset);        field_2_first_col    = LittleEndian.getShort(data, 2 + offset);        field_3_last_col     = LittleEndian.getShort(data, 4 + offset);        field_4_height       = LittleEndian.getShort(data, 6 + offset);        field_5_optimize     = LittleEndian.getShort(data, 8 + offset);        field_6_reserved     = LittleEndian.getShort(data, 10 + offset);        field_7_option_flags = LittleEndian.getShort(data, 12 + offset);        field_8_xf_index     = LittleEndian.getShort(data, 14 + offset);    }    /**     * set the logical row number for this row (0 based index)     * @param row - the row number     */    //public void setRowNumber(short row)    public void setRowNumber(int row)    {        field_1_row_number = row;    }    /**     * set the logical col number for the first cell this row (0 based index)     * @param col - the col number     */    public void setFirstCol(short col)    {        field_2_first_col = col;    }    /**     * set the logical col number for the last cell this row (0 based index)     * @param col - the col number     */    public void setLastCol(short col)    {        field_3_last_col = col;    }    /**     * set the height of the row     * @param height of the row     */    public void setHeight(short height)    {        field_4_height = height;    }    /**     * set whether to optimize or not (set to 0)     * @param optimize (set to 0)     */    public void setOptimize(short optimize)    {        field_5_optimize = optimize;    }    /**     * sets the option bitmask.  (use the individual bit setters that refer to this     * method)     * @param options - the bitmask     */    public void setOptionFlags(short options)    {        field_7_option_flags = options;    }    // option bitfields    /**     * set the outline level of this row     * @param ol - the outline level     * @see #setOptionFlags(short)     */    public void setOutlineLevel(short ol)    {        field_7_option_flags =            outlineLevel.setShortValue(field_7_option_flags, ol);    }    /**     * set whether or not to colapse this row     * @param c - colapse or not     * @see #setOptionFlags(short)     */    public void setColapsed(boolean c)    {        field_7_option_flags = colapsed.setShortBoolean(field_7_option_flags,                c);    }    /**     * set whether or not to display this row with 0 height     * @param z  height is zero or not.     * @see #setOptionFlags(short)     */    public void setZeroHeight(boolean z)    {        field_7_option_flags =            zeroHeight.setShortBoolean(field_7_option_flags, z);    }    /**     * set whether the font and row height are not compatible     * @param  f  true if they aren't compatible (damn not logic)     * @see #setOptionFlags(short)     */    public void setBadFontHeight(boolean f)    {        field_7_option_flags =            badFontHeight.setShortBoolean(field_7_option_flags, f);    }    /**     * set whether the row has been formatted (even if its got all blank cells)     * @param f  formatted or not     * @see #setOptionFlags(short)     */    public void setFormatted(boolean f)    {

⌨️ 快捷键说明

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