java poi 解析excel数据

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

public static List> analysisXlsExcel(HSSFWorkbook workbook,String[]columnsArr){

		List> lstData = new LinkedList>();
		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 dataRow = new HashMap();
					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; 
	}

你可能感兴趣的:(excel)