POI的导入功能(EXCEL)

SSM项目结合POI导入
需要的jar包如下:(XSSFWorkbook 和HSSFWorkbook 都适用)
在这里插入图片描述

InputStream inputStream = file.getInputStream(); //此处file指的是springmvc的MultipartFile
HashMap<String, String> map = new HashMap<String, String>();  //用于数据
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);	//XSSF...接收的xlsx格式
//HSSFWorkbook workbook = new HSSFWorkbook(inputStream);  //HSSF..接收的是xls格式
XSSFSheet sheet = workbook.getSheetAt(0);  //得到第一个sheet页
for (Row row : sheet) {     //便利sheet页的“每一行”  ==row
	int num = row.getRowNum();  //得到每一行的行号,从0开始
	// 剔除标题
	if (num == 0) {
		if ("".equals(row.getCell(1)) || row.getCell(1) == null) {

    		return "错误的的Excel文件!";
    	} else if ("标准名称".equals(row.getCell(1)
    			.getStringCellValue())) {
    		continue;   //跳出本次循环
    	} else {
    
    		return "请选择正确的Excel文件!";
    	}
    }
    for (int i = 0; i < row.getLastCellNum(); i++) {//row.getLastCellNum()得到总列数,即此处循环是 便利每一行的  每一列,i指的是列数     row.getCell(i)得到单元格的数值
    
    	if (row.getCell(i) == null || "".equals(row.getCell(i))) {
    		sb.append("第" + row.getRowNum() + "内容不可为空, ");
    	} else {   // 将第row行的第i列 的cell中的 内容当做字符串处理
    		row.getCell(i).setCellType(XSSFCell.CELL_TYPE_STRING);//设置格式为String类型
    		map.put("" + i + "", row.getCell(i)
    				.getStringCellValue());
    	}
    }
    validityStd.setA100(map.get("0"));   
    validityStd.setA298(map.get("1"));   
    validityStd.setSearchNo(validity.getSearchNo());   //编号
    int m = validityStdMapper.insert(validityStd);//存入数据库
    if (m < 1) {
    	return "添加失败";
    }
}

猜你喜欢

转载自blog.csdn.net/admin_mvip/article/details/84934859