使用poi读取,jxl对于excel2007不支持
1. 读取xlsx 数据
InputStream fs
XSSFWorkbook workbook = new XSSFWorkbook(fs);
XSSFSheet st = workbook.getSheetAt(0);
for (int rowNumOfSheet = 1; rowNumOfSheet <= st.getLastRowNum(); rowNumOfSheet++) {
if (null != st.getRow(rowNumOfSheet)) {
XSSFRow aRow = st.getRow(rowNumOfSheet); // 获得一个行
int cols = 0;
CarData carData = new CarData();
carData.setProvince(getCellXlsx(aRow.getCell(++cols)));
}
}
public String getCellXlsx(XSSFCell cell) {
if (cell == null)
return "";
switch (cell.getCellType()) {
case XSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date d = cell.getDateCellValue();
return formater.format(d);
} else {
return df.format(cell.getNumericCellValue());
}
case XSSFCell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case XSSFCell.CELL_TYPE_FORMULA:
return cell.getCellFormula();
case XSSFCell.CELL_TYPE_BLANK:
return "";
case XSSFCell.CELL_TYPE_BOOLEAN:
return cell.getBooleanCellValue() + "";
case XSSFCell.CELL_TYPE_ERROR:
return cell.getErrorCellValue() + "";
}
return "";
}
2.读取xls 数据
HSSFWorkbook workbook = new HSSFWorkbook(fs);
HSSFSheet st = workbook.getSheetAt(0);
for (int rowNumOfSheet = 1; rowNumOfSheet <= st.getLastRowNum(); rowNumOfSheet++) {
if (null != st.getRow(rowNumOfSheet)) {
HSSFRow aRow = st.getRow(rowNumOfSheet); // 获得一个行
int cols = 0;
CarData carData = new CarData();
carData.setProvince(getCell(aRow.getCell(++cols)));
}
}
public String getCell(HSSFCell cell) {
if (cell == null)
return "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date d = cell.getDateCellValue();
return formater.format(d);
} else {
return df.format(cell.getNumericCellValue());
}
case HSSFCell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case HSSFCell.CELL_TYPE_FORMULA:
return cell.getCellFormula();
case HSSFCell.CELL_TYPE_BLANK:
return "";
case HSSFCell.CELL_TYPE_BOOLEAN:
return cell.getBooleanCellValue() + "";
case HSSFCell.CELL_TYPE_ERROR:
return cell.getErrorCellValue() + "";
}
return "";
}
本文介绍使用Java POI库读取Excel文件的方法,包括.xls和.xlsx两种格式的数据读取过程及关键代码实现。针对不同版本的Excel文件,文章提供了具体的代码示例来解析单元格中的各种类型的数据。
946

被折叠的 条评论
为什么被折叠?



