写点什么

RUOYI 框架教程 5 |若依 Excell 导入这么做,0 经验小白都能写!

发布于: 2021 年 03 月 24 日


 若依教程独家分享!点赞+关注,一起从「蒟蒻」变成「大佬」~


1 excell 导入功能实现,你 get 了多少?

本期内容

前端页面怎么调?

后台逻辑怎么写?


2 ,前端页面应该怎么调,你学会了么?


在主 html 中表格的工具栏 toolbar div 层添加代码



<a class="btn btn-info" onclick="$.table.importExcel()"> <i class="fa fa-upload"></i> 批量导入</a>
复制代码

在表格操作头的 script 下的 function 中添加两个连接 url 参数

importUrl: prefix + "/importData",importTemplateUrl: prefix + "/importTemplate",
复制代码

在主 html 中</body>标签前引入导入区

<script id="importTpl" type="text/template">    <form enctype="multipart/form-data" class="mt40 mb20">        <div class="col-xs-offset-1">            <input type="file" id="file" name="file"/>            <div class="mt10 pt5">                <input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的数据                &nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i                    class="fa fa-file-excel-o"></i> 下载模板</a>            </div>            <font color="red" class="pull-left mt10">                提示:仅允许导入“xls”或“xlsx”格式文件!            </font>        </div>    </form></script>
复制代码


3 后端页面应该怎么写,你学会了么?


Controller 层下载模板

@GetMapping ( "/importTemplate" )  @ResponseBody  public AjaxResult importTemplate ( ) {    ExcelUtil < TSylx > util = new ExcelUtil < TSylx > ( TSylx.class );    return util.importTemplateExcel ( "商业公司流向导入模板" );  }
复制代码

Controller 层导入数据处理,其中调用了插入数据的方法


@PostMapping ( "/importData" )@ResponseBodypublic AjaxResult importData ( MultipartFile file , boolean updateSupport ) throws Exception { ExcelUtil < TZdfx > util = new ExcelUtil < TZdfx > ( TZdfx.class ); List < TZdfx > list = util.importExcel ( file.getInputStream ( ) ); String message = importTSylx ( list, updateSupport ); return AjaxResult.success ( message );}
public String importTSylx ( List < TZdfx > list , Boolean isUpdateSupport ) { if ( StringUtils.isNull ( list ) || list.size ( ) == 0 ) { throw new BusinessException ( "导入商业流向数据不能为空!" ); } int successNum = 0; int failureNum = 0; StringBuilder successMsg = new StringBuilder ( ); StringBuilder failureMsg = new StringBuilder ( ); for ( TZdfx tZdfx : list ) {
log.warn ( tZdfx.toString () ); addSave(tZdfx);
} if ( failureNum > 0 ) { failureMsg.insert ( 0 , "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:" ); throw new BusinessException ( failureMsg.toString ( ) ); } else { successMsg.insert ( 0 , "恭喜您,数据已全部导入成功!共 " + list.size () + " 条,数据如下:" +"\n"+list.toString ()); } return successMsg.toString ( );}
复制代码


如果想围观票圈,可以扫这个二维码加我微信~



发布于: 2021 年 03 月 24 日阅读数: 12
用户头像

爱写作的95后国企产品|程序媛 2020.05.06 加入

爱写作的95后国企产品|程序媛,公众号【若依框架教程】、【V5codings】

评论

发布
暂无评论
RUOYI 框架教程 5 |若依Excell导入这么做,0经验小白都能写!