github登不上的,百度云链接:https://pan.baidu.com/s/17rn533acfFiLC_eeX-q3oA?pwd=co3r
解压后是这个目录:
2、如果是在eclipse下开发,需要重新引入jdk(Preference/Java/Installed JREs)
3、仓库里添加jar包,在1.17文件夹里面直接运行:
mvn install:install-file -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.17 -Dfile=jacob.jar -Dpackaging=jar
运行后,会多出三个文件:
4、pom添加依赖
<dependency>
<groupId>com.jacob</groupId>
<artifactId>jacob</artifactId>
<version>1.17</version>
</dependency>
5、主要代码
outFile.getPath():freemarker生成的doc文件路径
newFilePath():另存为的路径,这个生成的手机就可以打开。
// 这里就是freemaker模板生成doc的代码,可以看我之前的博客
// 本地用的是wps所以我引用的是KWPS.Application,如果你使用的是office,那么相应的改为Word.Application。
ActiveXComponent _app = new ActiveXComponent("Word.Application");
_app.setProperty("Visible", Variant.VT_FALSE);
Dispatch documents = _app.getProperty("Documents").toDispatch();
// 打开FreeMarker生成的Word文档
Dispatch doc = Dispatch.call(documents, "Open", outFile.getPath(), Variant.VT_FALSE, Variant.VT_TRUE).toDispatch();
// 另存为新的Word文档
Dispatch.call(doc, "SaveAs", newFilePath, Variant.VT_FALSE, Variant.VT_TRUE);
Dispatch.call(doc, "Close", Variant.VT_FALSE);
_app.invoke("Quit", new Variant[] {});
ComThread.Release();
// 后面我是读取新的文件然后以流的形式传输给前端,然后浏览器下载。