java poi 解析excel数据

来源:互联网 发布:视频综合管理平台软件 编辑:程序博客网 时间:2024/05/22 05:33

解析excel文件数据 .xls格式;XSSF为解析.xlsx格式

public static List<Map<String, Object>> analysisXlsExcel(HSSFWorkbook workbook,String[]columnsArr){List<Map<String, Object>> lstData = new LinkedList<Map<String, Object>>();HSSFFormulaEvaluator evaluator  = new HSSFFormulaEvaluator(workbook);HSSFSheet childSheet = workbook.getSheetAt(0);try {//从第二行开始解析for (int j = 1; j <= childSheet.getLastRowNum(); j++) {Integer num = 0;HSSFRow row = childSheet.getRow(j);StringBuilder rowValue = new StringBuilder();if (null != row && !"".equals(row)) {Map<String, Object> dataRow = new HashMap<String, Object>();for (int k = 0; k < columnsArr.length; k++) {HSSFCell cell = row.getCell(k);if (null != cell && !"".equals(cell)) {//获取单元格中的数据//cell.setCellType(HSSFCell.CELL_TYPE_STRING);dataRow.put(columnsArr[k],UtilExcel.getCellValue(cell, evaluator));rowValue.append(UtilExcel.getCellValue(cell, evaluator));++num;} else {if (!columnsArr[k].isEmpty()){dataRow.put(columnsArr[k],"");}}}if (rowValue.length() > 0 && num>=1) {lstData.add(dataRow);rowValue.delete(0, rowValue.length() - 1);}else{break;}}}return lstData;} catch (Exception e) {String info = "analysisXlsExcel出错";logger.error(info,e);}return lstData; }