[实战篇入门]01-POI读Excel
这一章的内容就是告诉各位同学如何入门POI的简单使用,再之后我们还会学习如何封装模版,由于个人时间问题,不定期更新!如果有需要,请再QQ中联系我,好了,开始工作!
新建一个Java项目,首先需要一些列的jar包
直接上图讲解:
这里需要注意jar包的下载,需要再Apache官网 http://poi.apache.org/download.html 中下载对应POI的包,里面有对应的API和帮助文档,
再搭建过程中遇到了缺少xmlbeans.jar的情况,自己想办法解决,我曾经告诉你们如何下载jar文件的网站
新建一个excel文件reader.xlsx中内容如下:
入门测试代码:
public class PoiReaderTest { public static void main(String[] args) { try { Workbook workbook = WorkbookFactory.create(new File("E://java-workspace//shxt-2014//1001-POI读取Excel//xlxs//reader.xlsx")); Sheet sheet = workbook.getSheetAt(0);//通过索引获取 //获取行 Row row = sheet.getRow(0); Cell cell = row.getCell(0); System.out.println(cell.getStringCellValue()); } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
读取全部信息,这里有一个简单的封装,不合格的封装,就是为了测试而已!
public class PoiReaderAllTest { public static void main(String[] args) { try { Workbook workbook = WorkbookFactory.create(new File("E://java-workspace//shxt-2014//1001-POI读取Excel//xlxs//reader.xlsx")); Sheet sheet = workbook.getSheetAt(0);//通过索引获取 //获取最后的行数 System.out.println(sheet.getLastRowNum()); //进行遍历 for(int i=0;i<=sheet.getLastRowNum();i++){ //获取每行 Row row = sheet.getRow(i); //对列数进行遍历 for(int j=0;j<row.getLastCellNum();j++){ //获取单元格 //Cell cell = row.getCell(j); //每个字符串都有自己的类型,所以需要对每个单元格的数据进行转换 System.out.print(getCellValue(row.getCell(j))+"--"); } System.out.println(); } } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private static String getCellValue(Cell cell){ //返回值 String result = null; switch (cell.getCellType()) {//获取单元格的类型比较 case Cell.CELL_TYPE_BLANK: result = ""; break; case Cell.CELL_TYPE_BOOLEAN: result = String.valueOf(cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_FORMULA: result = String.valueOf(cell.getCellFormula()); break; case Cell.CELL_TYPE_NUMERIC: result = String.valueOf(cell.getNumericCellValue()); break; case Cell.CELL_TYPE_STRING: result = cell.getStringCellValue(); break; default: result = null; break; } return result; } }