遇到一些解析用得上的方法,贴出来参考
public void readDoctmentExcel() {
// File file =new File("");
try {
//这里直接获取文件流
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream("d:/a.xls"));
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;
}
if (rowNum >= 0) {
for (int cellNum = 0; cellNum <= hssfRow.getLastCellNum(); cellNum++) {
HSSFCell hssfCell = hssfRow.getCell(cellNum);
if (hssfCell == null) {
continue;
}
String cellValue = getValue(hssfCell).trim();
if (cellNum == 0) {
//得到rowNum 行的0列
} else if (cellNum == 1) {
//得到rowNum 行的1列
} else if (cellNum == 2) {
//得到rowNum 行的2列
} else if (cellNum == 3) {
----类推
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
在附上一个解析列转换字符串的方法
private String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
return String.valueOf(hssfCell.getNumericCellValue());
} else {
return String.valueOf(hssfCell.getStringCellValue());
}
}