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

成都工商注册核名查询系统优化网站关键词排名软件

成都工商注册核名查询系统,优化网站关键词排名软件,深圳商城网站建设报价单,黄骅贴吧的最新消息需求:Java查询多条数据放入word模板 多个word文件处理成zip压缩包并在前端下载.zip文件 解决方法:在模板的位置定义参数如 {{name}} {{age}}等等,使用 poi 处理 伪代码: PostMapping("/exportPracticeAppr")public S…

 需求:Java查询多条数据放入word模板 多个word文件处理成zip压缩包并在前端下载.zip文件

解决方法:在模板的位置定义参数如 {{name}}  {{age}}等等,使用 poi 处理

伪代码:

    @PostMapping("/exportPracticeAppr")public String exportPracticeAppr(HttpServletResponse response, @RequestBody ExportToExcelParamDto paramDto) throws IOException {//查询数据 ExportToWordByPracticeApprDto为模板中的参数List<ExportToWordByPracticeApprDto> practiceApprExport = baseService.practiceApprExport(paramDto);if (practiceApprExport != null && !practiceApprExport.isEmpty()) {// 创建一个zip文件,并打开一个ZipOutputStream来写入文件FileOutputStream fos = new FileOutputStream(paramDto.getActivityName() + "demo.zip");ZipOutputStream zos = new ZipOutputStream(fos);try {//获取word模板文件InputStream resourceAsStream = TrActivityGroupServiceImpl.class.getClassLoader().getResourceAsStream("word/导出模板.docx");XWPFDocument doc = new XWPFDocument(Objects.requireNonNull(resourceAsStream));//循环处理文件for (ExportToWordByPracticeApprDto apprDto : practiceApprExport) {Map<String, Object> replaceMap = BeanUtil.beanToMap(apprDto);Map<String, Object> resultMap = new HashMap<>();replaceMap.forEach((placeholder, replacement) -> resultMap.put("{{" + placeholder + "}}", replacement));replacePlaceholders(doc, resultMap);// 将Word文档保存为临时文件File tempFile = File.createTempFile("demo", DOCX);FileOutputStream tempOut = new FileOutputStream(tempFile);doc.write(tempOut);tempOut.close();// 将临时文件添加到zip文件中  表示压缩包中的文件名称 aa.docxZipEntry zipEntry = new ZipEntry("aa.docx");zos.putNextEntry(zipEntry);FileInputStream fis = new FileInputStream(tempFile);IOUtils.copy(fis, zos);fis.close();zos.closeEntry();tempFile.delete();}// 关闭zip文件输出流zos.close();doc.close();} catch (Exception e) {logger.error("文件导出错误{}", e.getMessage());}}// 返回zip文件内容byte[] zipBytes = IOUtils.toByteArray(Files.newInputStream(Paths.get("demo.zip")));response.reset();response.setContentType("application/zip");response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode("demo.zip", "UTF-8"));response.setContentLength(zipBytes.length);OutputStream out = response.getOutputStream();out.write(zipBytes);out.flush();out.close();return "redirect:/";}private void replacePlaceholders(XWPFDocument document, Map<String, Object> placeholders) throws IOException, InvalidFormatException {//处理普通word文字 不包含表格for (XWPFParagraph paragraph : document.getParagraphs()) {List<XWPFRun> runs = paragraph.getRuns();for (XWPFRun run : runs) {String text = run.getText(0);if (text != null) {for (Map.Entry<String, Object> entry : placeholders.entrySet()) {if (text.contains(entry.getKey())) {text = text.replace(entry.getKey(), entry.getValue() != null ? (String) entry.getValue() : "");run.setText(text, 0);}}}}}// 处理替换表格中的占位符for (XWPFTable table : document.getTables()) {for (XWPFTableRow row : table.getRows()) {for (XWPFTableCell cell : row.getTableCells()) {for (XWPFParagraph paragraph : cell.getParagraphs()) {List<XWPFRun> runs = paragraph.getRuns();for (XWPFRun run : runs) {String text = run.getText(0);if (text != null) {for (Map.Entry<String, Object> entry : placeholders.entrySet()) {if (text.contains(entry.getKey())) {//获取、处理图片略......int format = XWPFDocument.PICTURE_TYPE_PNG;//图片地址BufferedImage image = ImageIO.read(new URL(value));ByteArrayOutputStream outputStream = new ByteArrayOutputStream();//suffix为图片的后缀 .pngImageIO.write(image, suffix, outputStream);byte[] imageBytes = outputStream.toByteArray();//后两个参数是宽高run.addPicture(new ByteArrayInputStream(imageBytes), format, fileName, Units.toEMU(80), Units.toEMU(40));//替换文字  图片和文字如果都展示text = text.replace(entry.getKey(), entry.getValue() != null ? (String) entry.getValue() : "");run.setText(text, 0);}}}}}}}}}

最后前端处理进行下载即可。

http://www.dt0577.cn/news/29446.html

相关文章:

  • python可以做复杂网站网址大全导航
  • 重庆电商网站建设地推项目对接平台
  • 百度网站推广方案南京网络推广公司排名
  • 网站美化的目标seo零基础入门到精通200讲
  • 网站建设经费河北软文搜索引擎推广公司
  • spring网站开发小程序设计
  • 哪个网站能把图片拼凑起来做gif的中国万网登录入口
  • 北京网站定制报价网络营销的特点是什么?
  • 浙江网站建设公司推荐怎么自己制作网页
  • 良品铺子网站制作网站设计方案
  • 公司网站建设的目的国际形势最新消息
  • 人民法院网站建设背景常用的网络营销平台有哪些
  • 台州网站搭建百度怎么发布广告
  • 网站建设急单大连seo按天付费
  • 吐鲁番做网站网络营销主要做什么
  • 做a小视频网站qq空间秒赞秒评网站推广
  • wordpress阅读量造假长沙seo网络公司
  • 做拍卖网站需要多少钱网络广告的形式有哪些
  • 周口网站建设百度入口网站
  • 网站用什么软件程序做上海专业seo公司
  • 婚纱动态网站模板今日新闻最新消息大事
  • .cn域名的大网站app平台搭建
  • 中国最新军事新闻头条seo网站排名优化教程
  • 英文网站排名优化爱站关键词
  • 如何做网站限制策略网站优化网
  • 电商货源网站大全常宁seo外包
  • 扬中论坛台州seo排名外包
  • 购物分享网站流量排名自动的网站设计制作
  • 衡阳网站定制武汉it培训机构排名前十
  • 企业网站pc优化厦门关键词优化企业