📄 rowrecord.java
字号:
field_7_option_flags = formatted.setShortBoolean(field_7_option_flags, f); } // end bitfields /** * if the row is formatted then this is the index to the extended format record * @see org.apache.poi.hssf.record.ExtendedFormatRecord * @param index to the XF record */ public void setXFIndex(short index) { field_8_xf_index = index; } /** * get the logical row number for this row (0 based index) * @return row - the row number */ //public short getRowNumber() public int getRowNumber() { return field_1_row_number; } /** * get the logical col number for the first cell this row (0 based index) * @return col - the col number */ public short getFirstCol() { return field_2_first_col; } /** * get the logical col number for the last cell this row (0 based index) * @return col - the col number */ public short getLastCol() { return field_3_last_col; } /** * get the height of the row * @return height of the row */ public short getHeight() { return field_4_height; } /** * get whether to optimize or not (set to 0) * @return optimize (set to 0) */ public short getOptimize() { return field_5_optimize; } /** * gets the option bitmask. (use the individual bit setters that refer to this * method) * @return options - the bitmask */ public short getOptionFlags() { return field_7_option_flags; } // option bitfields /** * get the outline level of this row * @return ol - the outline level * @see #getOptionFlags() */ public short getOutlineLevel() { return outlineLevel.getShortValue(field_7_option_flags); } /** * get whether or not to colapse this row * @return c - colapse or not * @see #getOptionFlags() */ public boolean getColapsed() { return (colapsed.isSet(field_7_option_flags)); } /** * get whether or not to display this row with 0 height * @return - z height is zero or not. * @see #getOptionFlags() */ public boolean getZeroHeight() { return zeroHeight.isSet(field_7_option_flags); } /** * get whether the font and row height are not compatible * @return - f -true if they aren't compatible (damn not logic) * @see #getOptionFlags() */ public boolean getBadFontHeight() { return badFontHeight.isSet(field_7_option_flags); } /** * get whether the row has been formatted (even if its got all blank cells) * @return formatted or not * @see #getOptionFlags() */ public boolean getFormatted() { return formatted.isSet(field_7_option_flags); } // end bitfields /** * if the row is formatted then this is the index to the extended format record * @see org.apache.poi.hssf.record.ExtendedFormatRecord * @return index to the XF record or bogus value (undefined) if isn't formatted */ public short getXFIndex() { return field_8_xf_index; } public boolean isInValueSection() { return true; } public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("[ROW]\n"); buffer.append(" .rownumber = ") .append(Integer.toHexString(getRowNumber())).append("\n"); buffer.append(" .firstcol = ") .append(Integer.toHexString(getFirstCol())).append("\n"); buffer.append(" .lastcol = ") .append(Integer.toHexString(getLastCol())).append("\n"); buffer.append(" .height = ") .append(Integer.toHexString(getHeight())).append("\n"); buffer.append(" .optimize = ") .append(Integer.toHexString(getOptimize())).append("\n"); buffer.append(" .reserved = ") .append(Integer.toHexString(field_6_reserved)).append("\n"); buffer.append(" .optionflags = ") .append(Integer.toHexString(getOptionFlags())).append("\n"); buffer.append(" .outlinelvl = ") .append(Integer.toHexString(getOutlineLevel())).append("\n"); buffer.append(" .colapsed = ").append(getColapsed()) .append("\n"); buffer.append(" .zeroheight = ").append(getZeroHeight()) .append("\n"); buffer.append(" .badfontheig= ").append(getBadFontHeight()) .append("\n"); buffer.append(" .formatted = ").append(getFormatted()) .append("\n"); buffer.append(" .xfindex = ") .append(Integer.toHexString(getXFIndex())).append("\n"); buffer.append("[/ROW]\n"); return buffer.toString(); } public int serialize(int offset, byte [] data) { LittleEndian.putShort(data, 0 + offset, sid); LittleEndian.putShort(data, 2 + offset, ( short ) 16); //LittleEndian.putShort(data, 4 + offset, getRowNumber()); LittleEndian.putShort(data, 4 + offset, ( short ) getRowNumber()); LittleEndian.putShort(data, 6 + offset, getFirstCol() == -1 ? (short)0 : getFirstCol()); LittleEndian.putShort(data, 8 + offset, getLastCol() == -1 ? (short)0 : getLastCol()); LittleEndian.putShort(data, 10 + offset, getHeight()); LittleEndian.putShort(data, 12 + offset, getOptimize()); LittleEndian.putShort(data, 14 + offset, field_6_reserved); LittleEndian.putShort(data, 16 + offset, getOptionFlags());// LittleEndian.putShort(data,18,getOutlineLevel()); LittleEndian.putShort(data, 18 + offset, getXFIndex()); return getRecordSize(); } public int getRecordSize() { return 20; } public short getSid() { return this.sid; } public int compareTo(Object obj) { RowRecord loc = ( RowRecord ) obj; if (this.getRowNumber() == loc.getRowNumber()) { return 0; } if (this.getRowNumber() < loc.getRowNumber()) { return -1; } if (this.getRowNumber() > loc.getRowNumber()) { return 1; } return -1; } public boolean equals(Object obj) { if (!(obj instanceof RowRecord)) { return false; } RowRecord loc = ( RowRecord ) obj; if (this.getRowNumber() == loc.getRowNumber()) { return true; } return false; } public Object clone() { RowRecord rec = new RowRecord(); rec.field_1_row_number = field_1_row_number; rec.field_2_first_col = field_2_first_col; rec.field_3_last_col = field_3_last_col; rec.field_4_height = field_4_height; rec.field_5_optimize = field_5_optimize; rec.field_6_reserved = field_6_reserved; rec.field_7_option_flags = field_7_option_flags; rec.field_8_xf_index = field_8_xf_index; return rec; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -