ssm往mysql中导入excel表格

    步骤1:导入所需要的jar包

主要所用到jar有:commons-fileupload-1.3.3.jar、commons-io-2.5.jar、jxl-2.6.jar(核心的ssm框架jar包就不说了)


    步骤2: 配置SpringMVC


    
        
        
        
        
     

    步骤3:前台代码

请选择文件:
      

    步骤4:后台代码

	@RequestMapping("upload.it")
	public void upload(HttpServletRequest request,HttpServletResponse response, MultipartFile file)throws IOException, ParseException {
		// 时间的格式转换
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
		// 创建实体对象  需要你创建实体
		FlowInPopsVo vo = new FlowInPopsVo();
		//记录数
		int nos = 0;
		try {
			// 也可以用request获取上传文件
			// MultipartFile fileFile = request.getFile("file"); //这里是页面的name属性
			// 判断是否有输入流
			if (file.getSize()!= 0) {
				// 转换成输入流
				InputStream is = file.getInputStream();
				// 得到excel
				Workbook workbook = Workbook.getWorkbook(is);
				// 得到sheet
				Sheet sheet = workbook.getSheet(0);
				// 得到列数
				int colsNum = sheet.getColumns();
				// 得到行数
				int rowsNum = sheet.getRows();
				// 单元格
				Cell cell;
				// 创建map集合
				Map map = new HashMap();
				for (int i = 1; i < rowsNum; i++) {// 我的excel第一行是标题,所以 i从1开始
					for (int j = 0; j < colsNum; j++) {
						cell = sheet.getCell(j, i);// 注意:第一个参数是列.第二个参数是行
						map.put(j, cell.getContents()); // 存储

					}
					// 从map里取出来的value存到实体中
					vo.setId(map.get(0));
					vo.setName(map.get(1));
					// 时间的转换
					if (map.get(5) != "") {
						Date birth = sdf.parse(map.get(2));
						vo.setBirth(new SimpleDateFormat("yyyy-MM-dd")
								.format(birth));
					} else {
						vo.setBirth("");
					}
					// 判断是否为空
					if (vo.getId() != "" && !" ".equals(vo.getId())) {
						// 保存实体  需要你自己创建业务层
						nos = flowInPopsService.addinpop(vo);
					}

				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		}
		response.setContentType("text/html; charset=UTF-8");
		response.setHeader("Cache-Control", "no-cache"); // 在火狐下不设置返回类型的话,默认返回的是text/xml(xmldomcument)对象了。无法进行1==1比较,登不进系统。
		PrintWriter out = response.getWriter();
		if (nos > 0) {
			System.out.println("添加成功");
			out.print("1");
		} else {
			System.out.println("失败");
			out.print("0");
		}
		out.flush();
		out.close();
		
	}

ps:如果遇到错误请查看 ssm往mysql中导入excel出现的错误

你可能感兴趣的:(java-web)