博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java实现导入Excel文件
阅读量:4653 次
发布时间:2019-06-09

本文共 4764 字,大约阅读时间需要 15 分钟。

一.配置文件名称、路径、内容:

 

二.controller

@RequestMapping(value = "/importAccountManager")    @ResponseBody    public ModelAndView importAccountManager(HttpServletRequest request, HttpServletResponse response,            @RequestParam("file") CommonsMultipartFile file) {        ModelAndView mav = new ModelAndView(new MappingJackson2JsonView());        try (InputStream inputXls = file.getInputStream();                InputStream inputXML = new BufferedInputStream(getClass().getClassLoader().getResourceAsStream(ACCOUNT_TEMPLATE_PATH));) {            XLSReader mainReader = ReaderBuilder.buildFromXML(inputXML);            List
dataList = new ArrayList<>(); Map
params = new HashMap<>(); params.put("dataList", dataList); mainReader.read(inputXls, params); String message = accountManagerService.importAccountManager(dataList); if(StringUtils.isNotBlank(message)) { mav.addObject("success", false); } else { mav.addObject("success", true); } mav.addObject("message", message); } catch (Throwable e) { LOGGER.error("importAccountManager causes inner exception:", e); mav.addObject("success", false); mav.addObject("message", e.getMessage()); } return mav; }

三.service

//serviceImpl  @Override    public String importAccountManager(List
accountList) throws Exception { List
orgList = orgMapper.queryOrg(); String message = validate(accountList, orgList); if(message == null) { for(AccountManagerModel account : accountList) { String consNo = account.getConsNo(); AccountManagerModel oldAccount = accountManagerMapper.queryByConsNo(consNo); if(oldAccount == null) { insertAccountManager(account); } else { editAccountManager(account, oldAccount); } } } return message; }//interface/** * 导入客户数据 * * @param accountList * @return * @throws Exception */ public String importAccountManager(List
accountList) throws Exception;

四.mapper

//interface  /**     * 通过客户号查询企业     *      * @param consNo     * @return     * @throws throws Exception     */    public AccountManagerModel queryByConsNo(String consNo) throws Exception;//mapper映射xml

五.Html

六.js

function bindFileUploadEvent() {    $('#fileupload').fileupload({        url: basePath + 'accountManager/importAccountManager',        type: 'post',        dataType: 'json',        beforeSend: function(xhr){            xhr.setRequestHeader(header, token);        },        send: function(e, data) {            var file = data.files[0];            var fileName = file.name;            var fileSize = file.size;            var errorMsg = "请选择Excel文件!";            var pass = validateFileName(fileName, ".xls");            if(pass && fileSize >= 10485760) {                pass = false;                errorMsg = "选择的Excel文件须小于10M!";            }            if(!pass) {                $('#fileupload').val('');                errorDialog(errorMsg);            } else {                if(parent.progress) {                    parent.progress.show();                }            }            return pass;        },        done: function(e, data) {            var result = data.result;            if(result.success) {                queryAccountManager();                succDialog("客户数据导入成功!");            } else {                errorDialog(result.message);            }        },        fail: function(e, data) {            if(data.textStatus != null) {                errorDialog("系统发生故障,请联系系统管理员或稍后重试!");            }        },        always: function(e, data) {            if(parent.progress) {                parent.progress.hide();            }        }    });}

 

转载于:https://www.cnblogs.com/dslnn/p/10330172.html

你可能感兴趣的文章
chkconfig
查看>>
2.抽取代码(BaseActivity)
查看>>
夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
查看>>
反射的所有api
查看>>
css 定位及遮罩层小技巧
查看>>
[2017.02.23] Java8 函数式编程
查看>>
sprintf 和strcpy 的差别
查看>>
JS中window.event事件使用详解
查看>>
ES6深入学习记录(一)class方法相关
查看>>
C语言对mysql数据库的操作
查看>>
INNO SETUP 获得命令行参数
查看>>
HTML5与CSS3权威指南之CSS3学习记录
查看>>
docker安装部署
查看>>
AVL树、splay树(伸展树)和红黑树比较
查看>>
多媒体音量条显示异常跳动
查看>>
运算符及题目(2017.1.8)
查看>>
React接入Sentry.js
查看>>
ssh自动分发密匙脚本样板
查看>>
转 小辉_Ray CORS(跨域资源共享)
查看>>
Linux安装postgresql
查看>>