赞
踩
/** * 导出列表 * * @param request * @param response */ @Override public 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({
method: 'post',
url: '/export',
responseType: 'arraybuffer',//'blob'
}).then(res => {})
/** * 导出列表 * * @param request */ @Override public 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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。