easyui,springmvc,poi实现上传excel写入数据到数据库中
2018-03-02 15:02
1156 查看
上传excel文件操作数据有两种方式,分别是poi和jxl。但是jxl对高版本的excel(.xlsx)无法提供支持,所以本文使用poi实现。前端使用easyui实现,控制层使用流行框架springmvc.
所需要的jar包:poi-3.17jar,poi-ooxml-3.17jar,poi-ooxml-schemal-3.17jar,xbean.jar
jsp代码:<form id="indicatorAddExcelForm" method="post" enctype="multipart/form-data">
<table class="grid">
<tr>
<td>请选择Excel文件</td>
<td><input type="file" class="easyui-validatebox" id="upfile" name="upfile"></td>
</tr>
</table>
</form>
js代码:注意:js代码主要是表明springmvc请求路径,其他代码可能是从项目里面拿出来的,仅作参考。前端页面以及js可参考其他。
最后,别忘了在spring-mvc.xml文件中加入配置,如果已经配置过,忽略即可。
所需要的jar包:poi-3.17jar,poi-ooxml-3.17jar,poi-ooxml-schemal-3.17jar,xbean.jar
jsp代码:<form id="indicatorAddExcelForm" method="post" enctype="multipart/form-data">
<table class="grid">
<tr>
<td>请选择Excel文件</td>
<td><input type="file" class="easyui-validatebox" id="upfile" name="upfile"></td>
</tr>
</table>
</form>
js代码:
注意:js代码主要是表明springmvc请求路径,其他代码可能是从项目里面拿出来的,仅作参考。前端页面以及js可参考其他。
<script type="text/javascript"> $(function() { $('#indicatorAddExcelForm').form( { url : '${pageContext.request.contextPath}/selfevaluation/addExcel', onSubmit : function() { progressLoad(); var isValid = $(this).form('validate'); if (!isValid) { progressClose(); } return isValid; }, success : function(result) { progressClose(); result = $.parseJSON(result); if (result.success) { parent.$.messager.alert('成功', result.msg, 'info'); parent.$.modalDialog.handler.dialog('close'); } else { parent.$.messager.alert('错误', result.msg, 'error'); } } }); }); </script>springmvc代码:
@RequestMapping("/addExcel") @ResponseBody public Json addExcel(HttpSession session,HttpServletRequest request) { List<Indicator> inds=new ArrayList<Indicator>();//创建保存数据的list Json jj = new Json(); try { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //输入流 InputStream in =null; MultipartFile file = multipartRequest.getFile("upfile"); if(file.isEmpty()) { jj.setSuccess(false); jj.setMsg("文件不存在!"); return jj; } String filename=file.getOriginalFilename(); in = file.getInputStream(); //得到excel Workbook wb = null; String fileType = filename.substring(filename.lastIndexOf(".")); if((".xls").equals(fileType)) { wb = new HSSFWorkbook(in); //2003- }else if((".xlsx").equals(fileType)) { wb = new XSSFWorkbook(in); //2007+ }else { jj.setSuccess(false); jj.setMsg("文件格式错误!"); return jj; } //得到sheet Sheet sheet = wb.getSheetAt(0); //默认取第一个sheet //int colsNum = sheet.getPhysicalNumberOfRows(); //获取实际的行数 int rowsNum = sheet.getLastRowNum();// for(int j=1; j<rowsNum+1;j++) //第一行为表头,所以从第二行开始 {// getLastRowNum,获取最后一行的行标 Row row =sheet.getRow(j); if (row != null) { Indicator ind=new Indicator(); ind.setIndicator_itemid(row.getCell(0).toString()); ind.setDept_result(row.getCell(1).toString()); ind.setDept_remark(row.getCell(2).toString()); inds.add(ind); /*for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个 System.out.print(row.getCell(k) + "\t"); }*/ } } //System.out.println(inds); wb.close(); } catch (IOException e) { e.printStackTrace(); } //获取登陆用户的id SessionInfo sessionInfo=(SessionInfo)session.getAttribute(GlobalConstant.SESSION_INFO); selfEvaluationService.addExcel(sessionInfo.getId(),inds); jj.setSuccess(true); jj.setMsg("添加成功!"); return jj; }
最后,别忘了在spring-mvc.xml文件中加入配置,如果已经配置过,忽略即可。
<!-- 上传文件控制 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置上传文件的最大尺寸为10MB --> <property name="maxUploadSize"> <value>10485760</value> </property> </bean>
相关文章推荐
- java SpringMVC中 POI读取数据库数据并写入Excel表格中,并实现下载功能
- SpringMVC简单实现上传Excel文件,并将Excel中的数据导入数据库
- Laravel 上传excel,读取并写入数据库 (实现自动建表、存记录值
- SpringMVC框架简单实现上传Excel文件,并将Excel中的数据导入mySQL数据库
- 文件信息批量导入数据库(Struts2实现文件上传,POI实现Excel文件读取并写入数据库) .
- 文件信息批量导入数据库(Struts2实现文件上传,POI实现Excel文件读取并写入数据库)
- java实现excel数据重新写入数据库
- poi+jdbc实现从数据库中导出表的数据字典结构(单个sheet和多个sheet供你选择),并且生成excel文档,作者:vipyhd
- SpringMVC 实现POI读取Excle文件中数据导入数据库(上传)、导出数据库中数据到Excle文件中(下载)
- Laravel 上传excel,读取并写入数据库 (实现自动建表、存记录值
- POI实现Excel文件上传下载,读/写数据库(poi)
- java实现从数据库读取数据写入excel,写入多个sheet,6万数据耗时100秒附近
- JAVA实现数据库数据导入/导出到Excel(POI)
- java使用poi把从数据库中取出的数据写入到excel文件中并保存到指定文件路径
- 将Excel上传到服务器,读取Excel数据写入到数据库
- POI实现Excel文件上传下载,读/写数据库(poi)
- poi 学习之使用 Apche poi 读取数据库中的数据并写入Excel
- springMvc 中 Excel批量数据上传,利用POI解析数据保存入数据库 及模板文件下载
- 依赖POI实现EXCEL导入数据并生成javaBean和EXCEL根据数据库表导出
- JAVA实现数据库数据导入/导出到Excel(POI技术)