1、html界面, enctype="multipart/form-data"表示上传文件

<div class="panel-body"><form id="execlForm" enctype="multipart/form-data"><div><label>测试导入</label><input type="file" id="excelImport" name="files" /><button id="upload">上传</button></div></form>
</div>

2、js文件,首先校验是否选择文件,文件后缀是否正确

//发货业绩导入
$("#upload").click(function()
{var ck = $("#execlForm").val();if (ck == ""){Util.alertNotify('请选择一个文件!');return false;}var str = ck.substring(ck.length - 4, ck.length);if (str != "xlsx"){Util.alertNotify('您选的文件格式不对!');return false;}uploadDataFile();$("#execlCbInId").val("");});

数据异步提交到后台

function uploadDataFile() {var option = {url : "/test/importExcel",type: 'POST',dataType: 'json',beforeSend: function() { // 触发ajax请求开始时执行$("#upload").text('正在上传中').attr('disabled', true); // 改变提交按钮上的文字并将按钮设置为不可点击},success: function (result) {// $("#myModal").modal("hide");if (!result.success) {Util.alertNotify(result.message);} else {alert("导入成功");//界面刷新}$("#upload").text('上传').attr('disabled', false); // 改变提交按钮上的文字并将按钮设置为可以点击},error : function(data){alert('导入失败!'+data.message);$("#upload").text('上传').attr('disabled', false);}};$('#execlForm').ajaxSubmit(option);
}

3、后台数据处理

@PostMapping(value = "/test/importExcel")
public  CommonResponse importData(MultipartHttpServletRequest multipartRequest)
{MultipartFile file = multipartRequest.getFile("files");try{if (null != file) {return ***Service.uploadExcel(file);}}catch (Exception e){e.printStackTrace();return CommonResponse.error("导入错误");}return CommonResponse.error("模板错误,请重新选择");
}
  4、 解析数据,加事务提交,错误回滚
        @Transactionalpublic CommonResponse uploadExcel(MultipartFile file) throws ParseException {Map<String, List<Map<String, Object>>> uploadFile = ExcelUtil.uploadFile(file);List<Map<String, Object>> statusList = uploadFile.get("***");  //文件名字this.adduploadExcel(statusList);return CommonResponse.success();}
@Transactional(rollbackFor = Throwable.class)
public void adduploadExcel(List<Map<String, Object>> statusList) throws ParseException {List<***> ctList = new ArrayList<>();for (int i = 0; i < statusList.size(); i++) {Map<String, Object> map = statusList.get(i);*Entity(实体类) ct = new **Entity();String *Name = (String) map.get("1") ;

/**

解析每个字段的内容进行相应的业务逻辑处理

*/

}

}

web导入excel数据相关推荐

  1. python绘制动态图表怎么存下来_用python如何实现导入excel数据后自动生成图表?python如何实现交互式动态图表?...

    这个需求涉及的环节太多了.导入excel文件,获取数据 -- 需要xlrd模块把数据导入python 2. 设定输出图表类型 -- 需要matplot模块.根据数据复杂度,可能需要ETL,那么需要pa ...

  2. matlab导入桌面excel数据库,matlab导入excel数据_excel怎么导入网络上的数据?_excel导入网络数据...

    网络上的数据怎么导到excel中.有方法是直接复制然后粘贴到excel中,但是网络上直接复制过来的,可能不能直接进去下一步编辑.因为复制过来的每个词后面都有空格,是不能进行直接计算,连最基本的求和都不 ...

  3. php 表格导入excel插件,BootStrap Fileinput插件和表格插件相结合实现导入Excel数据的文件上传、预览、提交的步骤...

    这篇文章主要介绍了BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传.预览.提交的导入Excel数据操作步骤,需要的朋友可以参考下 bootstrap ...

  4. c 导入oracle数据库,c导入excel数据到数据库

    报表工具如何实现多次导入Excel 很多人在开发报表的时候会遇到将多张表样相同的excel导入到模板,然后提交至数据库中.但问题是很多情况,在线导入不支持一次性选择多个excel,一次只能选择一个ex ...

  5. python导入excel数据-如何把python中的数据导入excel

    python将数据导入excel的方法:1.在python官网下载xlrd第三方库:2.利用xlrd中的open_workbook函数读入excel文件,即可在python中导入excel数据. 一. ...

  6. oracle 导入Excel数据

    oracle 导入excel数据 CreateTime--2018年1月30日14:58:51 Author:Marydon 通过plsql实现 1.准备工作 Excel中的字段名称,必须和表结构字段 ...

  7. php 导入表格数据,PHPExcel 导入Excel数据的方法

    这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一:使用composer下载 phpoffice/phpexcel 或者 ...

  8. arcgis导入excel数据_导入Excel数据到ArcGIS属性表的两种实用方法

    导入Excel数据到ArcGIS有两种方法,一种是用ArcMap的加载数据(黄色+号那个):另一种是用ArcCatalog直接转为shp文件,两种方法的原理是一样的. 第一种方法 1.Excel数据: ...

  9. C# 导入excel数据,解决关闭excel后不能释放资源的问题

    C# 导入excel数据,解决关闭excel后不能释放资源的问题 参考文章: (1)C# 导入excel数据,解决关闭excel后不能释放资源的问题 (2)https://www.cnblogs.co ...

最新文章

  1. python--gevent高并发socket
  2. plsql programming 18 包
  3. YOLO3实现目标检测(VS2015+OPENCV3.4.2+YOLO3+CUDA10.0+CUDNN7.5)
  4. Linux下查看文件占用空间大小的du 和df 命令
  5. 舞力全开加速_国行舞力全开评测:丝滑得不像是育碧服务器!
  6. QT乱码总结6.编码测试和总结一
  7. 在php中函数名称区分大小写吗,PHP中的变量名,函数名,类名是区分大小写的吗...
  8. sql 倒数第二个_小白初探SQL(一)
  9. Undefined control sequence.l.113 \LinesNumbered
  10. rocketmq模块架构图
  11. LPC11XX驱动LCD1602程序
  12. matlab cnn 识别苹果,CNNmatlab cnn卷积神经网络用于手写数字识别 - 下载 - 搜珍网
  13. matlab2012a for mac,matlab 2016a mac |matlab 2016a for mac免费版专业版 32位/64位 - 系统天堂...
  14. 从强化学习的角度看alphago与MCTS
  15. 匹配数字、大小写字母、汉字、-、_而且不能以_开头或结尾
  16. 心理传染与恐怖的“模仿者效应”
  17. 人工智能和机器学习方面重要会议
  18. 618大促,我把知识星球的价格调错了……
  19. 启动mongo数据库
  20. Buffer(缓冲区)

热门文章

  1. LightOJ 1096 - nth Term 矩阵快速幂
  2. Codeforces Round #280 (Div. 2)
  3. UML建模之状态图(Statechart Diagram)
  4. Mysql 5.5 编译参数
  5. Client端异步Callback的应用与介绍
  6. 网易云api及 asrsea 加密参数文档
  7. jQuery源码研究分析学习笔记-jQuery.extend()、jQuery.fn.extend()(八)
  8. 入门机器学习(十六)--降维(PCA算法)
  9. android谷歌反地理,Android反向地理编码显示不出来!
  10. 7-9 地下迷宫探索 (8 分)