当前位置: 首页 > news >正文

做网站的人跑了网站可以恢复吗响应式网站微博视频教程

做网站的人跑了网站可以恢复吗,响应式网站微博视频教程,微网站建设的第一步是进行首页的设置,高质量的佛山网站模板EasyExcel简单使用 ​ 之前一直用的Apache POI来做数据的导入导出#xff0c;但听说阿里的EasyExcel也拥有POI的功能的同时#xff0c;在处理大数据量的导入导出的时候性能上比POI更好#xff0c;所以就来尝试使用一下 导入Maven依赖#xff1a; dependency…EasyExcel简单使用 ​ 之前一直用的Apache POI来做数据的导入导出但听说阿里的EasyExcel也拥有POI的功能的同时在处理大数据量的导入导出的时候性能上比POI更好所以就来尝试使用一下 导入Maven依赖 dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.2.1/version !-- 请检查并使用最新稳定版本 -- /dependency导出数据功能 导出模型类 ​ 定义一个导出数据模型类用于设置excel文件的格式通过注解的方式可以定义excel中的格式 ColumnWidth(20) 设置excel中列的宽度为20 HeadStyle(horizontalAlignment HorizontalAlignmentEnum.CENTER) 设置文本内容是否居中 HeadFontStyle(bold BooleanEnum.FALSE) 设置字体是否加粗 ExcelProperty(value “电话”, index 0) 设置了excel中的标题value则是标题内容index则是内容所在的列的位置 Data AllArgsConstructor NoArgsConstructor ToString ColumnWidth(20) HeadStyle(horizontalAlignment HorizontalAlignmentEnum.CENTER) HeadFontStyle(bold BooleanEnum.FALSE) public class PmembersExportVO {ColumnWidth(15)ExcelProperty(value 电话, index 0)private String mobile;ColumnWidth(15)ExcelProperty(value 姓名, index 1)private String realname;ColumnWidth(10)ExcelProperty(value 性别, index 2)private String gender;ColumnWidth(10)ExcelProperty(value 省份, index 3)private String resideprovince;ColumnWidth(10)ExcelProperty(value 城市, index 4)private String residecity;ColumnWidth(10)ExcelProperty(value 区/县, index 5)private String residedist;ColumnWidth(20)ExcelProperty(value 地址, index 6)private String address;ColumnWidth(12)ExcelProperty(value 公历生日, index 7)private String birth;ColumnWidth(12)ExcelProperty(value 农历生日, index 8)private String yinlibirth;ColumnWidth(12)ExcelProperty(value 是否闰月, index 9)private String isLeapMonth;}controller代码 ApiOperation(导出居士信息)ApiImplicitParams({ApiImplicitParam(name weiqingview_backend_token, value token, required true, dataType String, paramType header),ApiImplicitParam(name uniacid, value Unicid, required true, dataType Integer, paramType query)})GetMapping(/export)public void export(RequestParam MapString, Object params, HttpServletResponse response) {mcMembersService.exportExcel(params, response);}service代码 ​ 通过查询数据库中的数据并封装到List集合中调用EasyExcel的write方法即可将集合中的数据写入生成excel文件供下载 public void export(MapString, Object params, HttpServletResponse response) {Integer uniacid Integer.valueOf(params.get(uniacid).toString());ListMcMembers mcMembersList this.list(new QueryWrapperMcMembers().eq(isBeliever, 1).eq(uniacid, uniacid));ListPmembersExportVO pmembersExportVOList mcMembersList.stream().map(m - {PmembersExportVO pmembersExportVO new PmembersExportVO();pmembersExportVO.setAddress(m.getAddress());pmembersExportVO.setMobile(m.getMobile());pmembersExportVO.setGender(ObjectUtils.isEmpty(m.getGender()) ? : m.getGender().equals(0) ? 女 : 男);pmembersExportVO.setBirth(m.getBirth());pmembersExportVO.setYinlibirth(m.getYinlibirth());pmembersExportVO.setRealname(m.getRealname());pmembersExportVO.setResidedist(m.getResidedist());pmembersExportVO.setResidecity(m.getResidecity());pmembersExportVO.setResideprovince(m.getResideprovince());pmembersExportVO.setIsLeapMonth(ObjectUtils.isEmpty(m.getIsLeapMonth()) ? 否 : m.getIsLeapMonth() 1 ? 是 : 否);return pmembersExportVO;}).collect(Collectors.toList());// // 导出Excel // EasyExcel.write(居士信息数据.xls, PmembersExportVO.class).head(headersList) // 设置表头 // .sheet(用户信息) // .doWrite(pmembersExportVOList);// 设置响应头response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);response.setCharacterEncoding(utf-8);String fileName null;try {fileName URLEncoder.encode(居士信息数据.xlsx, UTF-8);response.setHeader(Content-Disposition, attachment;filename fileName);EasyExcel.write(response.getOutputStream(), PmembersExportVO.class).sheet(用户信息).doWrite(pmembersExportVOList);} catch (UnsupportedEncodingException e) {log.error(导出居士信息报错 UnsupportedEncodingException:{}, e);} catch (IOException e) {log.error(导出居士信息报错 IOException:{}, e);}}导入数据功能 导入数据模型类 ​ 我这里用的跟导出数据类基本一致所以也就改了个类名 ​ 只要用ExcelProperty指定对应列的信息就行其他指定格式的注解其实可以忽略 Data AllArgsConstructor NoArgsConstructor ToString ColumnWidth(20) HeadStyle(horizontalAlignment HorizontalAlignmentEnum.CENTER) HeadFontStyle(bold BooleanEnum.FALSE) public class ImportPmcMembersDTO {ColumnWidth(15)ExcelProperty(value 电话, index 0)private String mobile;ColumnWidth(15)ExcelProperty(value 姓名, index 1)private String realname;ColumnWidth(10)ExcelProperty(value 性别, index 2)private String gender;ColumnWidth(10)ExcelProperty(value 省份, index 3)private String resideprovince;ColumnWidth(10)ExcelProperty(value 城市, index 4)private String residecity;ColumnWidth(10)ExcelProperty(value 区/县, index 5)private String residedist;ColumnWidth(20)ExcelProperty(value 地址, index 6)private String address;ColumnWidth(12)ExcelProperty(value 公历生日, index 7)private String birth;ColumnWidth(12)ExcelProperty(value 农历生日, index 8)private String yinlibirth;ColumnWidth(12)ExcelProperty(value 是否闰月, index 9)private String isLeapMonth;}controller代码 ​ 前端页面上传一个name是file的文件 ApiOperation(导入居士信息)ApiImplicitParams({ApiImplicitParam(name weiqingview_backend_token, value token, required true, dataType String, paramType header),ApiImplicitParam(name uniacid, value Unicid, required true, dataType Integer, paramType query),ApiImplicitParam(name file, value file, required true, dataType MultipartFile, paramType query)})PostMapping(/uploadExcel)public R uploadExcel(RequestParam(file) MultipartFile file, RequestParam MapString, Object params) {return mcMembersService.importExcel(file, params);}service代码 ​ 下面是接收controller传来的文件后通过调用EasyExcel的read方法直接进行导入操作 public R importExcel(MultipartFile file, MapString, Object params) {// 检查文件是否为空if (file.isEmpty()) {return R.error(没有检测到文件); // 返回错误页面}try {// 执行导入操作EasyExcel.read(file.getInputStream(), ImportPmcMembersDTO.class, new ImportPmcMembersListener(this, params)).sheet().doRead();// 返回上传成功页面return R.ok(导入excel成功);} catch (IOException e) {e.printStackTrace();return R.error(导入excel失败);}}​ 下面是service中基本的添加数据的操作方法导入数据插库的时候也直接调用就不写新的插库方法了 public R pAdd(AddPmcMembersDTO addPmcMembersDTO, MapString, Object params) {McMembers mcMembers new McMembers();BeanUtils.copyProperties(addPmcMembersDTO, mcMembers);mcMembers.setIsBeliever((byte) 1);Integer uniacid Integer.parseInt(params.get(uniacid).toString());mcMembers.setUniacid(uniacid);if (this.save(mcMembers)) {return R.ok(添加成功);}return R.error(添加失败);}listener代码 ​ 上传的话需要定义一个listener并继承AnalysisEventListener这里的T类型就是上面定义的模型类的类型。 ​ 如果是在listener中进行插库操作那需要把service注入进来但是在listener中不能用Autowired所以重写一个带参的构造方法把注入好的service直接传进来使用即可我下面将注入好的mcMembersService传递了进来执行插库操作。下面的AddPmcMembersDTO是我另外定义的一个模型类是用于界面上添加数据用的这里直接转换后调用进行插库操作了。 ​ 当然也可以在listener中先将excel中的数据都封装到List集合中再统一将List中的数据插库也行。 public class ImportPmcMembersListener extends AnalysisEventListenerImportPmcMembersDTO {private McMembersService mcMembersService;private MapString, Object params;//通过构造方法得到注入好的mcMembersServicepublic ImportPmcMembersListener(McMembersService mcMembersService, MapString, Object params) {this.mcMembersService mcMembersService;this.params params;}Overridepublic void invoke(ImportPmcMembersDTO data, AnalysisContext context) {// 处理读取到的每行数据例如保存到数据库System.out.println(读取到一行数据: data.toString());// 这里可以添加保存到数据库的逻辑AddPmcMembersDTO addPmcMembersDTO new AddPmcMembersDTO();addPmcMembersDTO.setMobile(data.getMobile());addPmcMembersDTO.setRealname(data.getRealname());addPmcMembersDTO.setGender((byte) (ObjectUtils.isEmpty(data.getGender()) ? 0 : data.getGender().equals(男) ? 1 : 2));addPmcMembersDTO.setAddress(data.getAddress());addPmcMembersDTO.setBirth(data.getBirth());addPmcMembersDTO.setYinlibirth(data.getYinlibirth());addPmcMembersDTO.setResidedist(data.getResidedist());addPmcMembersDTO.setResidecity(data.getResidecity());addPmcMembersDTO.setResideprovince(data.getResideprovince());addPmcMembersDTO.setIsLeapMonth((byte) (ObjectUtils.isEmpty(data.getIsLeapMonth()) ? 0 : data.getIsLeapMonth().equals(是) ? 1 : 0));// 进行插库操作mcMembersService.pAdd(addPmcMembersDTO, params);}Overridepublic void doAfterAllAnalysed(AnalysisContext context) {// 所有数据解析完毕后的回调System.out.println(所有数据解析完成);}将一下excel数据进行导入操作 用Api工具测试了下上传成功 查看数据库数据也成功导入 整体感觉挺好用的对于不同的数据进行导入的话其实可以再封装成通用的listener这样不用每一个功能导入都去定义一个listener这个等后面有空再折腾吧。 结束
http://www.dnsts.com.cn/news/38752.html

相关文章:

  • 微信公众号排版appseo网站建设公司
  • 动力网站固定ip做网站和域名区别
  • 网站促销计算北京企业网站建设公司
  • 企业网站建设方案书目录wordpress改背景
  • 商业网站开发实训报告总结适合前端做项目的网站
  • 网站建设类外文翻译海南企业年报网上申报入口
  • 上海做网站公司品划网络php代理ip访问网站
  • 《高性能网站建设指南怎样做旅游城市住宿网站
  • 网站的费用dnf做心悦宠物的网站
  • 网站托管服务适用于哪种类型的网站提高工作效率总结心得
  • 丹东网站建设公司做网站 搞流量
  • 胶州市经济技术开发区建设局网站申请个人网站和企业官网有什么不同
  • 门户网站建设及运营最近热点新闻事件2023
  • 手机app界面设计尺寸标题优化
  • 内蒙古自治区工程建设网站网站可以几个服务器
  • 网站建设竞争对手分析360推广和百度推广哪个好
  • 国外媒体中文网站腾讯企业邮箱浙江服务中心
  • 网站建设公司问候语建设部网站查资质中裕隆
  • 有哪些商业网站中国农业建设信息网站
  • 网站自适应 常用尺寸全国室内设计公司排行榜
  • 广东企业网站seo哪里好高校网站建设花费
  • 分析网易严选网站开发wordpress怎么添加标签页
  • 网站统计分析工具wordpress调用文章标题
  • 网站侵权 做网站有责任吗工厂做网站
  • 网站开发p6网站哪里买外链
  • 做纺织外贸网站广州做网站设计
  • 摄影 网站 源码wordpress首页置顶推荐问题
  • 域名 空间 网站制作网站中二级导航栏怎么做
  • 网站上面添加地图惠阳东莞网站建设
  • 搭建论坛网站多长时间上海网站建设市场分析