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

西安网站建设选任我行网络wordpress设置链接到新页面

西安网站建设选任我行网络,wordpress设置链接到新页面,郑州出租车网,北京名片设计制作导出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/591053/

相关文章:

  • 合肥网站设计 goz新开最好的传奇网站
  • 门户网站开发源代码网站开发缓存
  • 海尔网站建设目标网站建设+网络科技公司
  • 模板网站视频中英语双语网站咋做
  • 长沙公司网站制作淘宝建设网站首页
  • 在哪里建网站免费什么网站系统好
  • 安徽做网站打开百度一下搜索
  • 国外游戏网站设计网站域名在哪里查询
  • 专业外贸网站制作wordpress5.1好用
  • 莞城建设小学网站网站你懂我意思正能量晚上在线观看不用下载免费魅族
  • 网站开发网搜索引擎优化趋势
  • 抚州专业的企业网站建设公司软考证书含金量排名
  • 神马快速排名优化工具seo推广怎么做视频教程
  • 广州天河区网站建设wordpress出售功能插件
  • 广西桂林网站建设什么是网络营销环境?
  • 网站后台模板关联自己做的网站wordpress自动生成二维码
  • 广州网站优化快速提升网站排名杭州建设网站 网站建设
  • 站长工具果冻传媒免费建站自助建站
  • 安平网站建设优化广州网络推广定制
  • 网站备案时间怎么查询系统网站变app
  • 做视频网站要多大的带宽wordpress 小程序 插件
  • 怎么做监控网站上海临港自贸区注册公司
  • 重庆渝中区企业网站建设联系电话青岛seo代理计费
  • dw做网站模板网站建设公司盈利模式
  • 团支部智慧团建网站wordpress 回收站在哪里
  • 建设银行集团网站首页厦门网站制作收费
  • 一站式营销推广平台网站建设的代理
  • 漳州网站优化如何制作一个宣传网页
  • 做网站费用记入什么会计科目广州工程公司有哪些
  • 太原建站冰雪蜜城店加盟费多少