From 52f98f1a31e682f725f09b4a37bcd316332d3131 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期四, 01 八月 2024 20:06:15 +0800 Subject: [PATCH] 优化word报告生成 --- src/main/java/com/whyc/controller/ReportController.java | 38 +++++--------------------------------- 1 files changed, 5 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/whyc/controller/ReportController.java b/src/main/java/com/whyc/controller/ReportController.java index 302bec9..b3fba47 100644 --- a/src/main/java/com/whyc/controller/ReportController.java +++ b/src/main/java/com/whyc/controller/ReportController.java @@ -1,7 +1,9 @@ package com.whyc.controller; +import com.whyc.dto.Response; import com.whyc.service.ReportService; import org.docx4j.Docx4J; +import org.docx4j.openpackaging.exceptions.Docx4JException; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; import org.springframework.beans.factory.annotation.Autowired; @@ -9,11 +11,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.xml.bind.JAXBException; import java.io.File; import java.text.SimpleDateFormat; import java.util.HashMap; - -import static org.docx4j.Docx4J.*; /** * 鎶ュ憡鐢熸垚 @@ -26,37 +27,8 @@ private ReportService service; @GetMapping("generateDocument") - public void generateDocument(){ - try { - //鑾峰彇classpath涓嬬殑妯℃澘 - String templatePath = this.getClass().getClassLoader().getResource("").getPath()+"resources\\template\\template_01.docx"; - //鍔犺浇妯℃澘 - WordprocessingMLPackage wordprocessingMLPackage = WordprocessingMLPackage.load(new File(templatePath)); - MainDocumentPart documentPart = wordprocessingMLPackage.getMainDocumentPart(); - - //鏌ヨ宸℃鏃跺�欑殑鐢垫祦鐢靛帇娓╁害鏁版嵁 - float current = 1.0f; - float voltage = 2.0f; - float temperature = 3.0f; - String reporter = "whyc"; - String inspectionTime = "2020-01-01 00:00:00"; - HashMap<String,String> map = new HashMap<>(); - map.put("current",current+""); - map.put("voltage",voltage+""); - map.put("temperature",temperature+""); - map.put("reporter",reporter); - map.put("inspectionTime",inspectionTime); - //鏇挎崲鍗犱綅绗� - documentPart.variableReplace(map); - //杈撳嚭鏂囦欢鍚嶇О - SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); - String fileName = "鎶ュ憡_01_"+format.format(System.currentTimeMillis())+".docx"; - Docx4J.save(wordprocessingMLPackage, new File("C:\\code\\web\\InspectionSystem\\src\\main\\resources\\template\\"+fileName)); - - }catch(Exception e){ - e.printStackTrace(); - } - + public Response<String> generateDocument() throws JAXBException, Docx4JException { + return service.generateDocument(); } } -- Gitblit v1.9.1