依赖:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.10-FINAL</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.10-FINAL</version> </dependency>
读操作:
public void poi() throws Exception { String path = "/home/linkrmb/领客网data/linkrmb.com.xls"; InputStream is = new FileInputStream(path); HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is); // Read the Sheet for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) { HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet); if (hssfSheet == null) { continue; } for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { HSSFRow hssfRow = hssfSheet.getRow(rowNum); for (Cell cell : hssfRow) { log.info("value:{}", cell.getStringCellValue()); } } } }
另外一种做法,通用性比较好,支持xls的03,07版本
Workbook workbook = WorkbookFactory.create(new FileInputStream(path)); Sheet hssfSheet = workbook.getSheetAt(0); for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { Row hssfRow = hssfSheet.getRow(rowNum); for (Cell cell : hssfRow) { System.out.println(CommonUtils.getXlsValue(cell)); } }