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

门户移动网站建设html5制作网页的详细步骤

门户移动网站建设,html5制作网页的详细步骤,重庆开县网站建设公司推荐,什么是sem推广导出excel文件是开发中常见的需求 常见的做法一般是直接通过请求接口响应对象HttpServletResponse把文件输出 我们可以使用原生的poi工具类操作.也可以使用easypoi.easyexcel等基于poi二次封装的工具处理 下面是代码 /*** 导出列表** param request* param response*/Overri…
导出excel文件是开发中常见的需求
常见的做法一般是直接通过请求接口响应对象HttpServletResponse把文件输出
我们可以使用原生的poi工具类操作.也可以使用easypoi.easyexcel等基于poi二次封装的工具处理
下面是代码

/*** 导出列表** @param request* @param response*/@Overridepublic void export(AuctionRequest request, HttpServletResponse response) throws IOException {Map<String, Object> queryMap = Maps.newHashMap(BeanConvertUtils.beanToMap(request));List<Auction> auctions = auctionManager.listAuctions(queryMap);if (CollectionUtils.isEmpty(auctions)) {throw new AuctionException("当前数据为空");}List<AuctionDataExportModel> auctionExportModels = auctions.stream().map(item -> {AuctionDataExportModel auctionExportModel = new AuctionDataExportModel();auctionExportModel.setAuCode(item.getAuCode());auctionExportModel.setAuTitle(item.getAuTitle());return auctionExportModel;}).collect(Collectors.toList());response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setHeader("Access-Control-Allow-Origin", "*");response.setCharacterEncoding("utf-8");String fileName = URLEncoder.encode("导出", "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + System.currentTimeMillis() + ".xlsx");EasyExcel.write(response.getOutputStream(), AuctionDataExportModel.class).sheet("数据区").doWrite(auctionExportModels);}
这样操作乍一看没啥问题.但是我这边前端同事是使用的axios发送的请求,必须指定响应类型为 ‘arraybuffer’ 或者 ‘blob’.
axios({method: 'post',url: '/export',responseType: 'arraybuffer',//'blob'
}).then(res => {})
正常下载是没有问题的,一旦代码报错.因为指定了响应类型.就拿不到返回的错误信息了.
于是采用了成功的时候后端直接把文件上传到s3服务器,然后把文件地址返给前端.出错的时候把错误信息返给前端,就解决了上述的问题
上代码
/*** 导出列表** @param request*/@Overridepublic String export(AuctionRequest request) {Map<String, Object> queryMap = Maps.newHashMap(BeanConvertUtils.beanToMap(request));List<Auction> auctions = auctionManager.listAuctions(queryMap);if (CollectionUtils.isEmpty(auctions)) {throw new AuctionException("当前数据为空");}List<AuctionDataExportModel> auctionExportModels = auctions.stream().map(item -> {AuctionDataExportModel auctionExportModel = new AuctionDataExportModel();auctionExportModel.setAuCode(item.getAuCode());auctionExportModel.setAuTitle(item.getAuTitle());return auctionExportModel;}).collect(Collectors.toList());//上传至s3服务器,同时将路径返回给前台ByteArrayOutputStream bos = new ByteArrayOutputStream();EasyExcel.write(bos, AuctionDataExportModel.class).sheet("数据区").doWrite(auctionExportModels);byte[] binary = bos.toByteArray();InputStream inputStream = new ByteArrayInputStream(binary);String excelName = "导出" + IdWorker.getMillisecond() + ".xls";String returnFilePath = CommonsConstants.STORE_AUCTION_SYNC_EXCEL + excelName;PutObjectResult putObjectResult = s3Util.uploadFile(inputStream, "xls", returnFilePath);org.wildfly.common.Assert.assertNotNull(putObjectResult);return returnFilePath;}
我这里是传到s3服务器,其他的文件服务器(minio.七牛云)也都提供类似的上传api.按需替换就好了.
http://www.yayakq.cn/news/846859/

相关文章:

  • 浙江广发建设有限公司网站wordpress首页显示栏目分类
  • 宁波seo站外优化推广wordpress3.9zhcn
  • 成都山而网站建设公司ai软件下载
  • 在后台怎么做网站内链专题制作 wordpress
  • 怎么做兼职类网站产品展示型网站模板
  • 电影网站如何做seo排名询广西南宁网站运营
  • 网站站长在哪登陆后台多媒体教学网站的建设的论文
  • 贵州省住房与城乡建设厅门户网站南昌网站开发技术
  • 无锡网站制作多少钱网站服务器搭建XP
  • 公司网站建设模板下载网站运行速度慢的原因
  • 网站设计步骤wordpress 内存不断上升
  • 免费网站服务器安全中小网站推广 一级域名还是二级域名
  • 便宜点的网站建设建筑网站可以ai绘画吗
  • 用自己的手机做网站云制造网站
  • 加强网站硬件建设方案建筑模板价格规格大全
  • 网站开发案例详解wordpress js 代码
  • 建设什么样的网站月入一万网站建设教程pdf百度云
  • 内容聚合网站开发教程巩义服务专业网站建设
  • 网站首页设计费用佛山关键词排名方案
  • 吕梁seo网站建设内蒙古建设安全监督网站
  • 速贝cms建站系统江苏网站备案
  • 萧山建设有限公司网站广州网页设计公司
  • 龙岗商城网站建设哪家便宜seo的宗旨是什么
  • 网站运营条件呢图网站场建设封面
  • 电子商务网站建设文献seo排名优化
  • 电商网站更适合网站建设 通知
  • 网站域名com和cn的差别在哪里如何用网站做淘客
  • 群晖做网站服务器绿地建设集团网站
  • 学校没有网站网站开发建设培训
  • 烟台h5网站制作公司石家庄网站建设教程