框架学习二"/>
若依框架学习二
若依框架学习二
- 导出
- 前端html、js编写
- 后端实体、controller编写
- 导入
- 前端
- 后端
导出
实现导出功能,添加导出模块,首先确定导出数据实体,然后对controller中导出模块进行编写,在相应前端html上添加键值,在js上确定其导出Url。
前端html、js编写
在前端中添加按钮
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:text:export"><i class="fa fa-download"></i> 导出</a>
在js那里声明Url
exportUrl: prefix+"/export",
后端实体、controller编写
首先选择确定导出的数据实体,并对实体数据中添加@Excel(name=“xxx”)对于不同的数据类型使用不同的cellType
@Excel(name="xxx")
编写controller里面的导出模块
// An highlighted block
@Log(title = "便签导出", businessType = BusinessType.EXPORT)@RequiresPermissions("system:text:export")@PostMapping("/export")@ResponseBodypublic AjaxResult export(Text text){List<Text> list = textService.selectTextList(text);ExcelUtil<Text> util = new ExcelUtil<Text>(Text.class);return util.exportExcel(list, "便签数据");}
导入
前端
首先需要在html上添加该功能的按钮
<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:text:import"><i class="fa fa-upload"></i>导入</a>
在js板块上写url地址
importUrl:prefix+"/importdata",
importTemplateUrl:prefix+"/importTemplate",
在下面直接添加导入模板
<!-- 导入区域 -->
<script id="importTpl" type="text/template"><form enctype="multipart/form-data" class="mt20 mb10"><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="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据 <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>
后端
首先需要对controller里面定义import和importTemplate模块
@Log(title = "标签管理", businessType = BusinessType.IMPORT)@RequiresPermissions("system:text:import")@PostMapping("/importdata")@ResponseBodypublic AjaxResult importdata(MultipartFile file, boolean updateSupport)throws Exception{ExcelUtil<Text> util=new ExcelUtil<Text>(Text.class);List<Text> textList=util.importExcel(file.getInputStream());String message = textService.importText(textList, updateSupport);return AjaxResult.success(message);}@RequiresPermissions("system:text:view")@GetMapping("/importTemplate")@ResponseBodypublic AjaxResult importTemplate(){ExcelUtil<Text> util=new ExcelUtil<Text>(Text.class);return util.importTemplateExcel("便签数据");}
由于之前并未在textServiceIml中定义importText方法需要分别在ITextServic里面声明该方法并在textServiceIml里面改写此方法
在ITextService中添加该方法
public String importText(List<Text> textList, Boolean isUpdateSupport);
在TextServiceIml中重写此方法
// An highlighted block@Overridepublic String importText(List<Text> textList, Boolean isUpdateSupport){if(StringUtils.isNull(textList)||textList.size()==0){throw new BusinessException("导入标签数据不能为空");}int successNum=0;int failureNum=0;StringBuilder successMsg=new StringBuilder();StringBuilder failureMsg=new StringBuilder();String operName=ShiroUtils.getLoginName();if (failureNum > 0){failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");throw new BusinessException(failureMsg.toString());}else{successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");}return successMsg.toString();
}
更多推荐
若依框架学习二
发布评论