Apache POI浅入门

Apache POI的简介

中开发经常会涉及到Excel中的处理,如导出Excel中导入Excel中到数据库中,各种表格数据的批量录入和导出之类,所以我希望大家有时间的时候都稍微了解一下,免得到时候碰到需求太突然。

POI是一个经常用到的工具,所以大家在休息的时候了解一下就行,写了一个最简的演示(记得把文件的路径改一下),不用太钻研。等真正用到的时候百度就行了〜

面试的时候有的会问你们怎么处理Excel中的,注意这是一个坑...

他会紧接着问你解析Excel中的类有什么特殊的吗?如下

Excel文件:

xls格式文件对应POI API为HSSF。

xlsx格式为office 2007的文件格式,POI中对应的API为XSSF

 

你就跟他说有两种,对应不同的版本

Apache POI常用的类

  • HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
  • XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
  • HWPF - 提供读写Microsoft Word DOC97格式档案的功能。
  • XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。
  • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
  • HDGF - 提供读Visio格式档案的功能。
  • HPBF - 提供读者Microsoft Publisher格式档案的功能。
  • HSMF - 提供读Microsoft Outlook格式档案的功能。

在开发中我们经常使用HSSF用来操作的Excel处理表格数据,对于其它的不经常使用。

HSSF是可怕的SpreadSheet格式的缩写,通过HSSF,你可以用纯Java代码来读取,写入,修改Excel文件.HSSF为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件 - 用户模型”。

常用的类和方法

  • HSSFWorkbook:工作簿,代表一个excel的整个文档 
    • HSSFWorkbook(); //创建一个新的工作簿
    • HSSFWorkbook(InputStream inputStream); //创建一个关联输入流的工作簿,可以将一个excel文件封装成工作簿
    • HSSFSheet createSheet(String sheetname); 创建一个新的表
    • HSSFSheet getSheet(String sheetName); 通过名称获取表
    • HSSFSheet getSheetAt(int index); //通过索引获取Sheet,索引从0开始
    • HSSFCellStyle createCellStyle();创建单元格样式
    • int getNumberOfSheets(); 获取片的个数
    • setActiveSheet(int index); 设置默认选中的工作表
    • 写();
    • 写(File newFile);
    • write(OutputStream流);
  • HSSFSheet:工作表 
    • HSSFRow createRow(int rownum); 创建新行,需要指定行号,行号从0开始
    • HSSFRow getRow(int index); 根据索引获取指定的行
    • int addMergedRegion(CellRangeAddress region); 合并单元格 
      CellRangeAddress(int firstRow,int lastRow,int firstCol,int lastCol); 单元格范围,用于合并单元格,需要指定要合并的首行,最后一行,首列,最后一列。
    • autoSizeColumn(int column); 自动调整列的宽度来适应内容
    • getLastRowNum(); 获取最后的行的索引,没有行或者只有一行的时候返回0
    • setColumnWidth(int columnIndex,int width); 设置某一列的宽度,width =字符个数* 256,例如20个字符的宽度就是20 * 256
  • HSSFRow:行 
    • HSSFCell createCell(int column); 创建新的单元格
    • HSSFCell setCell(镜头索引);
    • HSSFCell getCell(镜头索引);
    • setRowStyle(HSSFCellStyle style); 设置行样式
    • short getLastCellNum(); 获取最后的单元格号,如果单元格有第一个开始算,lastCellNum就是列的个数
    • setHeightInPoints(float height); 设置行的高度
  • HSSFCell:单元格 
    • setCellValue(String value); 设置单元格的值
    • setCellType(); 设置单元格类型,如字符串,数字,布尔等
    • setCellStyle(); 设置单元格样式
    • String getStringCellValue(); 获取单元格中的字符串值
    • setCellStyle(HSSFCellStyle style); 设置单元格样式,例如字体,加粗,格式化
    • setCellFormula(String formula); 设置计算公式,计算的结果作为单元格的值,也提供了异常常用的函数,如求和”总和(A1,C1)”,日期函数,字符串相关函数,COUNTIF和SUMIF函数,随机数函数等
  • HSSFCellStyle:单元格样式 
    • setFont(Font font); 为单元格设置字体样式
    • setAlignment(Horizo​​ntalAlignment align); //设置水平对齐方式
    • setVerticalAlignment(VerticalAlignment align); //设置垂直对齐方式
    • setFillPattern(FillPatternType fp);
    • setFillForegroundColor(short bg); 设置前景色
    • setFillBackgroundColor(short bg); 设置背景颜色
  • HSSFFont:字体, 
    • setColor(短色); //设置字体颜色
    • setBold(boolean bold); //设置是否粗体
    • setItalic(boolean italic); 设置倾斜
    • setUnderline(字节下划线); 设置下划线
  • HSSFName:名称
  • HSSFDataFormat:日期格式化
  • HSSFHeader:Sheet的头部
  • HSSFFooter:Sheet的尾部
  • HSSFDateUtil:日期工具
  • HSSFPrintSetup:打印设置
  • HSSFErrorConstants:错误信息表

依赖:

<依赖性>

<的groupId> org.apache.poi </的groupId>

<artifactId的> POI </ artifactId的>

<版本> 3.6 </版本>

</依赖性>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值