From c7a1eaca9d4914c928b52bc7d965f9942f166ecd Mon Sep 17 00:00:00 2001 From: wwb <782276617@qq.com> Date: Tue, 6 Jan 2026 10:09:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StatementAccountController.java | 7 ++++--- .../templates/dzd_excel_templates.xlsx | Bin 0 -> 11467 bytes 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 hangtag-server/src/main/resources/templates/dzd_excel_templates.xlsx diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/statementaccount/StatementAccountController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/statementaccount/StatementAccountController.java index 381d274..54600ef 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/statementaccount/StatementAccountController.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/statementaccount/StatementAccountController.java @@ -223,12 +223,13 @@ public class StatementAccountController { // 如果填充list的对象是map,必须包涵所有list的key,哪怕数据为null,必须使用map.put(key,null) //docker生成路径 //URL templateFileUrl = ResourceUtil.getResource("templates/dzd_excel_templates.xlsx"); - org.springframework.core.io.Resource resource = resourceLoader.getResource("classpath:templates/dzd_excel_templates.xlsx"); // 例如获取index.html - String templateFileUrl = resource.getURI().toString(); + // org.springframework.core.io.Resource resource = resourceLoader.getResource("classpath:templates/dzd_excel_templates.xlsx"); // 例如获取index.html + // String templateFileUrl = resource.getURI().toString(); + InputStream resourceAsStream = this.getClass().getResourceAsStream("templates/dzd_excel_templates.xlsx"); String pathUrl = System.getProperty("user.dir") + "/pdffile"; String fileName = pathUrl+"/对账单-"+customer.getName()+"-"+DateUtil.date(statementAccount.getDate().toLocalDate()).toString("YYYYMM")+".xlsx"; - try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileUrl).build()) { + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(resourceAsStream).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); // 直接写入数据 excelWriter.fill(models, writeSheet); diff --git a/hangtag-server/src/main/resources/templates/dzd_excel_templates.xlsx b/hangtag-server/src/main/resources/templates/dzd_excel_templates.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1211fde6992d93db6fe6d46fd693e9ec39fe18f5 GIT binary patch literal 11467 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 z z|Mz#V0HVr(%Kz0={QC;|y{-65