【java】POI详细介绍(自用系列)

创建一个excel表格:

HSSFWorkbook wb = new HSSFWorkbook();

创建一个工作表格(sheet):

HSSFSheet sheet = wb.createSheet("测试表格");

创建一行(row):

HSSFRow row1 = sheet.createRow(0);

创建一个单元格(cell):

HSSFCell cell = row2.createCell((short)0);

方法:

//创建新的Cell -应该只由HSSFRow调用 这将从头创建一个单元格 参数:book-包含此单元格的工作簿的工作簿记录、sheet-包含此单元格的工作表的工作表记录、row-这个单元格的行、col-这个单元格的列
protected HSSFCell(HSSFWorkbook book, HSSFSheet sheet, int row, short col);
//返回该单元格所属的HSSFSheet 注:拥有此单元格的HSSFSheet
public HSSFSheet getSheet();
//返回此单元格所属的HSSFRow  注:拥有此单元格的HSSFRow
public HSSFRow getRow();
//创建新的cell应该只由HSSFRow调用。这将从头创建一个单元格 参数:book-包含此单元格的工作簿记录、sheet-包含此单元格的工作表记录、row-这个单元格的行、col-这个单元格的列、type-单元类型
protected HSSFCell(HSSFWorkbook book, HSSFSheet sheet, int row, short col,CellType type);
//从CellValueRecordInterface创建一个HSSFCell。HSSFSheet在从现有工作表中读取单元格时使用此方法 参数:book-包含此单元格的工作簿的工作簿记录、sheet-包含此单元格的工作表的工作表记录、cval-我们希望表示的单元格值记录
protected HSSFCell(HSSFWorkbook book, HSSFSheet sheet, CellValueRecordInterface cval);
//内部提升——给定单元格值记录,确定其类型
private static CellType determineType(CellValueRecordInterface cval);
//返回此单元格绑定到的工作簿
protected InternalWorkbook getBoundWorkbook();
//包含该单元格的行(基于零的)索引
public int getRowIndex();
//更新单元格记录所属列的概念(基于0) 参数:num -新的单元号
protected void updateCellNum(short num);
//获取该列数据的index(索引)
public int getColumnIndex()
//获取row=0 column=0单元格 注:返回的是CellAddress容器
public CellAddress getAddress();
//设置单元格类型(数字、公式或字符串)。如果单元格当前包含一个值,则该值将被转换为匹配新类型(如果可能的话)。参数:NUMERIC、STRING、FORMULA、BLANK、BOOLEAN、ERROR(使用#setCellType(CellType))
public void setCellType(int cellType);
//设置单元格类型(数字、公式或字符串)。如果单元格当前包含一个值,该值将被转换为匹配新类型,如果可能的话。
public void setCellType(CellType cellType);
//设置单元格类型。setValue标志表明,如果创建了新记录,是否需要尝试保存当前值。 注:setCellValue方法将调用setValue中的false方法,因为它稍后将覆盖单元格值
private void setCellType(CellType cellType, boolean setValue, int row,short col, short styleIndex);
//获取单元格类型(数字、公式或字符串) 注:在未来的POL版本中会返回elink CellType吗为了向前兼容,不要在代码中硬编码单元格类型文字。
public int getCellType();
//获取单元格类型(数字、公式或字符串)
public CellType getCellTypeEnum();
//为单元格设置数值 注:value设置要设置此单元格为的数值。对于公式,我们将设置。预计算值,对于数值,我们将设置它的值。对于其他类型,我们将单元格更改为数字单元格并设置其值。
public void setCellValue(double value);
//设置cel1的日期值。Excel将日期视为数字,因此需要将单元格格式化为日期。 注:value设置要设置此单元格的日期值。对于公式,我们将设定预先计算的值,对于数值,我们将设定它的值。对于其他类型,我们将单元格更改为数字单元格并设置其值。
public void setCellValue(Date value);
//设置单元格的日期值。Excel将日期视为数字,因此您需要将单元格格式化为日期。 注:这将根据Calendar的时区设置单元格值。由于Excel不支持时区,这意味着20:00+03:00和20:00-03:00将被报告为相同的值(20:00),即使这两个时间之间有6小时的差异。这个差异可以通过使用 setCellValue (value. value)来保持。getTime ()将自动将时间转移到默认时区。
public void setCellValue(Calendar value);
//为单元格设置字符串值 注:value设置单元格为的值。对于公式,我们将给出公式对于string单元格,我们将设置它的值。对于其他类型,我们将把单元格改为字符串单元格并设置其值。如果value为null,则将单元格更改为空白单元格。
public void setCellValue(String value);
//为单元格设置字符串值 注:value设置单元格为的值。对于公式,我们将设置公式字符串,对于string单元格,我们将设置它的值。对于其他类型,我们将单元格改为字符串单元格并设置其值。如果value为null,那么我们将把单元格更改为空白单元格。
public void setCellValue(RichTextString value);
//为单元设置公式
public void setCellFormula(String formula);
//通知这个单元公式被改变 注:应该在公式可能被删除的任何时候调用。如果这个单元里没有公式就什么都不做
private void notifyFormulaChanging();
//获取单元公式
public String getCellFormula();
//以数字形式获取单元格的值。对于字符串,抛出异常。对于空白单元格,返回0。 注:请参阅 HSSFDataFormatter,将这个数字转换成一个字符串,类似于Excel将这个数字呈现为的字符串。
public double getNumericCellValue();
//获取单元格的值作为日期。对于字符串,抛出异常。对于空白单元格,返回null。
public Date getDateCellValue();
//以字符串形式获取单元格的值—对于数值单元格我们抛出异常。对于空白单元格,我们返回一个空字符串。对于不是字符串formula的formulaCells,抛出异常
public String getStringCellValue();
//获取单元格的字符串值-对于数字单元格,我们抛出异常。对于空白单元格,我们将返回一个空字符串。对于不是字符串formula的formulaCells,抛出异常
public HSSFRichTextString getRichStringCellValue();
//为单元格设置布尔值 注:value设置此单元格为的布尔值。对于公式,我们将设置。预计算值,对于布尔值,我们将设置其值。对于其他类型,我们将单元格改为布尔单元格并设置其值。
public void setCellValue(boolean value);
//设置单元格的错误值  注:errorCode设置该单元格的错误值。对于公式,我们将设置预先计算的值,对于错误,我们将设置它的价值。对于其他类型,我们将把单元格更改为一个错误并设置其值。有关错误码字节,请参见@link FormulaError)。
public void setCellErrorValue(byte errorCode);
//设置单元格的错误值  注:设置此单元格为的错误值。对于公式,我们将设定预先计算的值,对于误差,我们将设定它的价值。对于其他类型,我们将把单元格更改为一个错误单元格并设置其值。
public void setCellErrorValue(FormulaError error);
//当单元格的类型发生变化时,为其选择一个新的布尔值。

创建单元格格式(cellstyle):

HSSFCellStyle style4 = wb.createCellStyle();

方法:

//获取HSSFWorkbook中的索引(ExtnededFormat对象集合中的序列) 注:用于获取颜色等的索引号。样式在HSSFWorkbook获取
public short getIndex();
//设置数据格式(必须是有效的格式) 注:样式在HSSFDataFormat获取
public void setDataFormat(short fmt)
//获取格式索引 注:样式在HSSFDataFormat比较
public short getDataFormat();
//通过根据绑定的工作簿查找 DataFormat 来获取格式字符串的内容 注:样式在HSSFDataFormat获取
public String getDataFormatString();
//设置此样式的字体 注:从HSSWorkbook对象中创建或检索的字体对象
public void setFont(Font font);
//获取此样式的字体的索引 注:从HSSWorkbook对象中对比
public short getFontIndex();
//将使用此样式的单元格设置为隐藏 注:hidden 使用此样式的单元格是否应该隐藏
public void setHidden(boolean hidden);
//获取使用此样式的单元格是否要隐藏 
public boolean getHidden();
//将使用这种样式的单元格设置为锁定 注:Locked 使用这种样式的单元格是否应该被锁定
public void setLocked(boolean locked);
//获取使用此样式的单元格是否要被锁定
public boolean getLocked();
//打开或关闭“引用前缀”或“123前缀”的样式,用于告诉Excel,看起来像数字或公式的东西不应该被视为on。 【不太能理解,需要详细了解】
public void setQuotePrefixed(boolean quotePrefix);
//单元格是否启用“引用前缀”或“123前缀”?  【不太能理解,需要详细了解】
public boolean getQuotePrefixed();
//设置单元格的水平对齐类型
public void setAlignment(HorizontalAlignment align);
//获取单元格的水平对齐类型
public short getAlignment();
//获取单元格的水平对齐类型  注:从getAlignmentEnum方法获取
public HorizontalAlignment getAlignmentEnum();
//设置文本是否应该换行
public void setWrapText(boolean wrapped);
//获取文本是否应该被换行
public boolean getWrapText();
//设置单元格的垂直对齐类型
public void setVerticalAlignment(VerticalAlignment align);
//获取单元格的垂直对齐类型
public short getVerticalAlignment();
//获取单元格的垂直对齐类型
public VerticalAlignment getVerticalAlignmentEnum();
//设置单元格中文本的旋转程度  参数: rotation 度(-90度和90度之间,用于垂直)
//注:注意:HSSF使用-90到90度的值,而XSSF使用从0到180度的值。此方法的实现将相应地在这两个值范围之间进行映射,但是相应的getter将返回此CellStyle应用于的当前Excel文件格式类型所要求的范围内的值。
public void setRotation(short rotation);
//获取单元格中文本的旋转程度 参数: rotation 度(-90度和90度之间,用于垂直)
public short getRotation();
//设置单元格中缩进文本的空格数 注:indent  空格的数量
public void setIndention(short indent);
//获取在单元格中缩进文本的空格数 注:indent  空格的数量
public short getIndention();
//设置单元格左边框的类型
public void setBorderLeft(BorderStyle border);
//获取用于单元格左边框的边框类型
public short getBorderLeft();
//获取用于单元格左边框的边框类型
public BorderStyle getBorderLeftEnum();
//设置单元格右边框的类型
public void setBorderRight(BorderStyle border);
//获取用于单元格右边框的边框类型
public short getBorderRight();
//获取用于单元格右边框的边框类型
public BorderStyle getBorderRightEnum();
//设置单元格上边框使用的边框类型
public void setBorderTop(BorderStyle border);
//获取用于单元格上边框的边框类型
public short getBorderTop();
//获取用于单元格上边框的边框类型
public BorderStyle getBorderTopEnum();
//设置单元格底部边框的边框类型
public void setBorderBottom(BorderStyle border);
//获取用于单元格底部边框的边框类型
public short getBorderBottom();
//获取用于单元格底部边框的边框类型
public BorderStyle getBorderBottomEnum();
//设置左边框的颜色
public void setLeftBorderColor(short color);
//获取用于左边框的颜色
public short getLeftBorderColor();
//设置右边边框的颜色
public void setRightBorderColor(short color);
//获取用于左边框的颜色
public short getRightBorderColor();
//设置上边框的颜色
public void setTopBorderColor(short color);
//获取用于顶部边框的颜色
public short getTopBorderColor();
//设置底部边框的颜色
public void setBottomBorderColor(short color);
//获取用于左边框的颜色
public short getBottomBorderColor();
//设置为1用前景色填充单元格…不知道其他值 注:fp填充模式(设置为FillPatternType以填充前景色)
public void setFillPattern(FillPatternType fp);
//得到填充模式
public short getFillPattern();
//获取filr模式
public FillPatternType getFillPatternEnum();
//设置背景填充颜色 注:从HSSFCellStyle获取
public void setFillBackgroundColor(short bg);
//获取背景填充颜色
public short getFillBackgroundColor();
public HSSFColor getFillBackgroundColorColor();
//设置前景填充颜色 注:确保前景色设置在背景色之前 bg颜色
public void setFillForegroundColor(short bg);
//获取前景色填充颜色 注:从HSSFPalette中对比
public short getFillForegroundColor();
public HSSFColor getFillForegroundColorColor();
//获取用户定义的样式的名称(对于内置样式和未定义名称的样式,返回null)
public String getUserStyleName();
//设置用户定义样式的名称(如果你在一款内置的衣服上尝试,会抱怨的。)
public void setUserStyleName(String styleName);
//控制单元格是否应该自动调整大小(如果文本太长,缩小以适应)
public void setShrinkToFit(boolean shrinkToFit);
//单元格应该通过Excel自动调整大小来缩小(如果文本太长,它适合吗?)
public boolean getShrinkToFit();
//获取阅读顺序,用于文本的RTL/LTR顺序
public short getReadingOrder();
//设置阅读顺序,用于文本的RTL/LTR顺序
public void setReadingOrder(short order);

创建单元格内容格式():

HSSFFont font = wb.createFont();

方法:

//设置字体的名称(即Arial) 注:name表示要使用的字体名称的字符串
public void setFontName(String name);
//获取字体的名称(即:Arial) 注:字符串表示要使用的字体的名称
public String getFontName();
//获取HSSFWorkbook中的索引(在字体对象集合中的序列) 注:此字体表示的基础记录的唯一索引号
public short getIndex();
//设置字体高度,单位为1/20个点
public void setFontHeight(short height);
//设置字体高度 注:height 高度(以熟悉的测量单位为单位)
public void setFontHeightInPoints(short height);
//以1/20为单位得到字体高度。也许你会想要 注:使用getFontHeightInPoints匹配熟悉的10、12、14等
public short getFontHeight();
//获取字体高度
public short getFontHeightInPoints();
//设置是否使用斜体
public void setItalic(boolean italic);
//确定是否使用斜体
public boolean getItalic();
//设置是否在文本中使用划线水平线
public void setStrikeout(boolean strikeout);
//查看是否在文本中使用横划线
public boolean getStrikeout();
//设置字体的颜色 注:使用这个而不是HSSFCOlor 自动默认字体颜色
public void setColor(short color);
//获取字体的颜色 参数:COLOR_NORMAL、COLOR_RED
public short getColor();
//获取字体的颜色值
public HSSFColor getHSSFColor(HSSFWorkbook wb);
//设置字体是否加粗
public void setBold(boolean bold);
//获取字体是否粗体
public boolean getBold();
//设置标准、超标或下标 注:offset 要使用的类型(none, super, sub) 参数:SS_NONE、SS_SUPER、SS_SUB
public void setTypeOffset(short offset);
//得到正常,超级或下标 注:offset 要使用的类型(none, super, sub) 参数:SS_NONE、SS_SUPER、SS_SUB
public short getTypeOffset();
//设置要使用的文本下划线类型 参数:U_NONE、U_SINGLE、U_DOUBLE、U_SINGLE_ACCOUNTING、U_DOUBLE_ACCOUNTING
public void setUnderline(byte underline);
//获取类型的文本下划线使用 参数:U_NONE、U_SINGLE、U_DOUBLE、U_SINGLE_ACCOUNTING、U_DOUBLE_ACCOUNTING
public byte getUnderline();
//获取要使用的字符集 参数:ANSI_CHARSET、DEFAULT_CHARSET、SYMBOL_CHARSET
public int getCharSet();
//设置要使用的字符集 参数:ANSI_CHARSET、DEFAULT_CHARSET、SYMBOL_CHARSET
public void setCharSet(int charset);
//要使用的字符集 参数:ANSI_CHARSET、DEFAULT_CHARSET、SYMBOL_CHARSET
public void setCharSet(byte charset);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值