java使用freemarker生成word文档(.docx格式)
https://blog.csdn.net/qq_42581267/article/details/137471352
>>>> 使用举例 <<<<
# 方式1:引入本地jar依赖
<dependency>
<groupId>com.geline</groupId>
<artifactId>cloud-coder-starter-wordtool</artifactId>
<scope>system</scope>
<version>1.3.5</version>
<systemPath>${project.basedir}/libs/cloud-coder-starter-wordtool-1.3.5.jar</systemPath>
</dependency>
# 方式2:引入阿里云私服依赖
<dependency>
<groupId>com.geline</groupId>
<artifactId>cloud-coder-starter-wordtool</artifactId>
<version>1.3.5</version>
</dependency>
>>>> 使用案例 <<<<<
@Api(tags = {"Word文档生成"})
@RestController
@RequestMapping("/wordDoc")
@Slf4j
public class WordDocController {
@Autowired
private WordDocService wordDocService;
// localhost:9001/wordDoc/export
@ApiOperation(value = "生成DB.doc")
@GetMapping("/export")
public void export(HttpServletResponse response) throws Exception {
File file = new File("D:/数据库设计说明书.doc");
wordDocService.export("word/数据库设计说明书.ftl", file, "sys_user");
String filename = file.getName();
try {
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。