java Excel表格导入
来源:互联网 发布:亚洲人长相 知乎 编辑:程序博客网 时间:2024/05/17 05:12
上篇文章介绍了Excel表格的导出共能,这次介绍Excel表格导入到保存。
1.我们先在页面创建一个导入按钮,我们要用form表单提交,input file选择文件
<input type="file" style="display: none;" id="import_file" name="import_file" /><a href="javascript:void(0);" id="according-user" class="btn btn-export">导入</a>input框选用file类型,下面做一个导入的按钮(链接也行)
<form id="staffListForm" action="<c:url value='/staff/list?entId=${entId}'/>" method="post" enctype="multipart/form-data">使用form表单提交,导入文件enctype="multipart/form-data"必不可少
下面是导入的js,需要做导入文件的判断
/*导入员工*/ $("#according-user").click(function(){$("#import_file").click();});$("#import_file").change(function(){var fileName = $("#import_file").val();if(fileName.length > 1 && fileName ) { var ldot = fileName.lastIndexOf(".");var type = fileName.substring(ldot + 1).toLowerCase();if(type == "xls" || type == "xlsx") {var fileFrontName = fileName.substring(0,ldot);$("#fileNameDiv").html(fileName);var requestUrl = basePath+"/staff/importStaff";$("#staffListForm").ajaxSubmit({url:requestUrl,// 跳转到 actiontype: "POST",dataType: "json",success:function(data) { if(!data.status){parent.layer.msg("导入失败!请优先检查好上传文件内容是否正确!",{icon:3},function(){parent.location.reload();});}else{parent.layer.msg("文件 "+fileFrontName + " 导入成功",{icon:1},function(){parent.location.reload();}); }},error:function() { parent.layer.msg("导入操作异常!",{icon:5},function(){parent.location.reload();});} });} else {this.value="";layer.msg("文件格式不正确");return;}}});
2.将文件导入并保存
/** * 导入员工 * @param request * @param entStaffInfo * @return */@ResponseBody@RequestMapping(value = "/importStaff", method = {RequestMethod.POST,RequestMethod.GET})public Map<String, Object> importStaff(HttpServletRequest request) {Map<String, Object> result = new HashMap<String, Object>();try {MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest)request; MultipartFile importFile = multipartRequest.getFile("import_file"); ExcelFile ef =new ExcelFile(); List<Map<String, Object>> presentList = null; if(importFile.getOriginalFilename().toLowerCase().endsWith(".xls")){ presentList = ef.readWithXls(importFile.getInputStream(), 0, 2, new String[]{"name","gender","cellphone", "email","entName","departName","positionName"}); }else{ presentList = ef.readWithXlsx(importFile.getInputStream(), 0, 2, new String[]{"name","gender","cellphone", "email","entName","departName","positionName"}); } EntStaffInfo entStaffInfo = null; for(Map<String, Object> map : presentList) { Map<String,Object> properties = new HashMap<String, Object>(); result.put("status", flag); }} catch (IOException e) {e.printStackTrace();}return result;}跟上一篇文章一样,我们需要导入poi的jar包
读取上传的文件需要spring-web-3.2.9.RELEASE.jar
MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest)request;
MultipartFile importFile = multipartRequest.getFile("import_file");
配置上传spring-servlet.xml
<!-- 上传文件解释器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="utf-8" /><property name="maxUploadSize" value="10485760" /><property name="maxInMemorySize" value="4096" /><property name="resolveLazily" value="true" /></bean>
读取Excel方法
/** * 读取Excel文件 * * @param fileStream Excel文件流 * @param sheetIndex Sheet编号(起始为0) * @param titleRow 标题列的高度(如果为0,则表明没有标题行) * @param columns 列名 * * @return 读取后的Excel数据 */public List<Map<String, Object>> readWithXlsx(InputStream fileStream, int sheetIndex, int titleRow, String[] columns) {Workbook wb = null;try {wb = new XSSFWorkbook(fileStream);} catch (IOException e) {e.printStackTrace();}return this.read(wb, sheetIndex, titleRow, columns);}/** * 读取Excel文件 * * @param fileStream Excel文件流 * @param sheetIndex Sheet编号(起始为0) * @param titleRow 标题列的高度(如果为0,则表明没有标题行) * @param columns 列名 * * @return 读取后的Excel数据 */public List<Map<String, Object>> readWithXls(InputStream fileStream, int sheetIndex, int titleRow, String[] columns) {Workbook wb = null;try{wb = new HSSFWorkbook(new POIFSFileSystem(fileStream));}catch(Exception e){e.printStackTrace();}return this.read(wb, sheetIndex, titleRow, columns);}
继续补充完善。。。
0 0
- java Excel表格导入
- Java导入导出Excel表格
- java web导入excel表格
- Java导入导出Excel表格
- java导入导出excel表格
- java excel表格数据导入
- java excel表格导入导出
- java导入excel表格日期
- Java中excel表格导入数据库
- java中导入(读)excel表格
- java中excel表格批量导入
- java中如何导入excel表格
- excel表格导入数据库后台JAVA方法
- java poi实现excel表格导入导出
- Java实现Excel表格数据批量导入
- Notes导入excel表格
- 导入Excel表格数据
- mysql导入excel表格
- 【javase复习】## day6 常用API ##
- socket心跳检测
- HDU 1495 非常可乐
- 虚幻4 碰撞过滤
- Java抽象类(abstract)和接口(interface)的区别
- java Excel表格导入
- android WebView设置最大高度
- Unity插件——EasyTouch的使用
- Oracle命令:授权-收回权限-角色
- Scala学习日志(1.5)——自适应类型
- 理解HEAD请求以及HTTP/204和HTTP/206响应
- 基于caffe的性别、年龄识别
- SAP MRP MD04运行结果展示(二)
- RxJava变换操作符:.concatMap( )与.flatMap( )的比较