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

<!-- SpringMVC文件上传 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--defaultEncoding:请求的编码格式必须和用户JSP的编码一致,以便正确读取表单中的内容。 
            uploadTempDir:文件上传过程中的临时目录,上传完成后,临时文件会自动删除 
            maxUploadSize:设置文件上传大小上限(单位为字节) -->
        <property name="defaultEncoding" value="UTF-8" />
        <property name="maxUploadSize" value="102400000" />
        <!--uploadTempDir可以不做设置,有默认的路径,上传完毕会临时文件会自动被清理掉 
        <property name="uploadTempDir" value="upload/temp"></property> -->
    </bean> 

    步骤3:前台代码


  
  
<form action="后台连接" method="post" enctype="multipart/form-data"> 请选择文件:<input type="file" class="btn btn-default"  name="file"><br/>     <input type="submit" class="btn btn-default" value="提交"> </form> 

    步骤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<Integer, String> map = new HashMap<Integer, String>();
				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出现的错误

可以使用Apache POI库来读取和写入Excel文件。下面是一个使用SSM框架和Apache POI库导入Excel表格的示例: 1. 在pom.xml文件添加Apache POI依赖: ```xml <!-- Apache POI依赖 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 2. 创建一个Excel导入的Controller: ```java @Controller @RequestMapping("/excel") public class ExcelController { @Autowired private UserService userService; @RequestMapping(value = "/import", method = RequestMethod.POST) public String importExcel(@RequestParam("file") MultipartFile file) throws IOException { // 读取Excel文件 Workbook workbook = WorkbookFactory.create(file.getInputStream()); Sheet sheet = workbook.getSheetAt(0); // 遍历行 for (Row row : sheet) { // 跳过标题行 if (row.getRowNum() == 0) { continue; } // 创建用户对象 User user = new User(); // 设置用户对象的属性值 user.setName(row.getCell(0).getStringCellValue()); user.setAge((int) row.getCell(1).getNumericCellValue()); user.setGender(row.getCell(2).getStringCellValue()); // 保存用户对象到数据库 userService.save(user); } return "redirect:/user/list"; } } ``` 3. 在前端页面添加一个文件上传表单: ```html <form action="/excel/import" method="POST" enctype="multipart/form-data"> <input type="file" name="file" /> <button type="submit">导入</button> </form> ``` 这样就可以通过上传Excel表格导入数据到数据库了。需要注意的是,上传的Excel表格必须按照指定的格式,并且该格式需要与Controller的代码相对应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值