-
简述
使用Java语言处理office文档使用Apache POI组件,该组件功能强大,适用种类多。详情参考Apache POI -
初始配置
使用时,从官网下载jar包和源码,如下链接:jar包,源码,下载Jar包后,解压后如下:
使用时,创建Java项目,选择该项目,点击右键,选择Build Path–>Configure Build Path…–>Libraries–> add External JARs
将刚才目录下包括子目录下所有的jar包全部导入。(否则运行时会出现某些类找不到)。
下载源码后,解压,
选择attach source–>External Folder
将目录关联,使用时便可看到源码。 -
使用方法
- 起步
String path ="E:\\self\\情况.xlsx";
InputStream excel=null;
try {
excel = new FileInputStream(path);
}
catch (Exception e) {
System.out.println("file may be not existed!");
}
XSSFWorkbook workbook=new XSSFWorkbook(excel);
使用时需要先new 一个FileInputStream对象,从该对象初始化一个XSSFWorkbook对象,xlsx格式对应XSSF,xls格式对应HSSF。
或者先new一个File对象,按照如下使用方式:
HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File("/file/student.xls")));
- 获取多个工作表(多个sheet)
按照步骤1获取一个XSSFWorkbook对象后,可调用如下方法获取每一个sheet。
XSSFSheet sheet=null;
for (int i=0;i<workbook.getNumberOfSheets();i++) {
sheet=workbook.getSheetAt(i);
System.out.println(sheet.getSheetName());
}
以上方法为获取每一个sheet对象。
- 获取某行某列得值
可以先获取某一行的对象,再获取该行的某个列的对象,如下:
XSSFRow row = sheet.getRow(0);
XSSFCell cell = row.getCell(4);
然后可以直接调用cell的toString()方法获取其字符串值