Jeecg Word模板文件下载

后端处理代码

String fileName = id + "-xxxx.docx";
try {
    // 模板存放地址
    String templateUrl = uploadpath + File.separator + "template" + File.separator + "clue_down_template.docx";
    ModelAndView mv = new ModelAndView(new JeecgTemplateWordView());
    mv.addObject(TemplateWordConstants.FILE_NAME, fileName);
    mv.addObject(TemplateWordConstants.URL, templateUrl);
    // 添加模板参数
    mv.addObject(TemplateWordConstants.MAP_DATA, getClueDownMap(id)); //data
    return mv;
} catch (Exception e) {
    log.error("下载xxxxxxxxxx表异常--》{}", e);
    return null;
}

前端处理modelAndView

downFile(this.url.downLoad + '/' + id).then((res) => {
    if (!res) {
      this.$message.warning('文件下载失败')
      return
    }
    let blob = new Blob([res], { type: 'application/msword' })
    let downloadElement = document.createElement('a')
    let href = window.URL.createObjectURL(blob) // 创建下载的链接
    downloadElement.href = href
    downloadElement.download = 'xxxxxx.docx' // 下载后文件名
    document.body.appendChild(downloadElement)
    downloadElement.click() // 点击下载
    document.body.removeChild(downloadElement) // 下载完成移除元素
    window.URL.revokeObjectURL(href) // 释放掉blob对象
  })
},
### 实现 Jeecg 框架中的 Word 文档导出 在 Jeecg 框架中实现 Word 文档导出功能可以通过集成第三方库来完成。通常使用的库有 Apache POI 或者 docx4j,这些库提供了丰富的 API 来创建和操作 Word 文件。 #### 使用 Apache POI 导出 Word 文档 Apache POI 是一个非常流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 和 Word。以下是使用 Apache POI 创建并导出 Word 文档的一个简单示例: ```java import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import javax.servlet.http.HttpServletResponse; public class WordExportService { public void exportWord(HttpServletResponse response) throws Exception { XWPFDocument document = new XWPFDocument(); // 添加段落 XWPFParagraph paragraph = document.createParagraph(); paragraph.setAlignment(XWPFParagraph.Alignment.CENTER); paragraph.setSpacingAfter(10); // 设置响应头信息 response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); response.setHeader("Content-Disposition", "attachment;filename=example.docx"); try (OutputStream out = response.getOutputStream()) { document.write(out); // 将文档写入输出流 } finally { if (document != null) { document.close(); // 关闭文档对象 } } } } ``` 此代码片段展示了如何通过 `XWPFDocument` 类构建一个新的 Word 文档,并向其中添加一段居中文本。最后设置 HTTP 响应头部以便浏览器能够识别这是一个要下载文件[^3]。 为了使上述方法能够在 Jeecg 中正常工作,还需要确保项目的依赖项包含了 Apache POI 的 jar 包。可以在 Maven 配置文件 pom.xml 中加入如下依赖声明: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.3</version> </dependency> ``` 此外,在实际应用中可能需要更复杂的逻辑来填充模板数据或将数据库查询结果转换成表格等形式展示于 Word 报告内。此时可以考虑利用 FreeMarker 或 Velocity 这样的模板引擎配合 POI 完成复杂场景下的 Word 生成功能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值