poi组件读取xls文件

依赖:

<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));
	}
}

 

猜你喜欢

转载自snv.iteye.com/blog/2160437