因项目需要将几个word文件合并到一个word文件,后面附项目运用的jar包jacob-1.9
jacob运用中,需要将附件内的jacob.dll放到windows/system32下
直接上代码:
public static void main(String[] args) {
List list = new ArrayList();
String file1= "D:\\file1.doc";
String file2= "D:\\file2.doc";
String file3= "D:\\file3.doc";
list.add(file1);
list.add(file2);
list.add(file3);
uniteDoc(list,"d:\\file.doc");
}
public static void uniteDoc(List fileList, String savepaths) {
if (fileList.size() == 0 || fileList == null) {
return;
}
//打开word
ActiveXComponent app = new ActiveXComponent("Word.Application");//启动word
try {
// 设置word不可见
app.setProperty("Visible", new Variant(false));
//获得documents对象
Object docs = app.getProperty("Documents").toDispatch();
//打开第一个文件
Object doc = Dispatch
.invoke(
(Dispatch) docs,
"Open",
Dispatch.Method,
new Object[] { (String) fileList.get(0),
new Variant(false), new Variant(true) },
new int[3]).toDispatch();
//追加文件
for (int i = 1; i < fileList.size(); i++) {
Dispatch.invoke(app.getProperty("Selection").toDispatch(),
"insertFile", Dispatch.Method, new Object[] {
(String) fileList.get(i), "",
new Variant(false), new Variant(false),
new Variant(false) }, new int[3]);
}
//保存新的word文件
Dispatch.invoke((Dispatch) doc, "SaveAs", Dispatch.Method,
new Object[] { savepaths, new Variant(1) }, new int[3]);
Variant f = new Variant(false);
Dispatch.call((Dispatch) doc, "Close", f);
} catch (Exception e) {
throw new RuntimeException("合并word文件出错.原因:" + e);
} finally {
app.invoke("Quit", new Variant[] {});
}
}
分享到:
相关推荐
4. 将两个 Word 文档的内容合并到新的 Word 文档中,使用 appendBody 方法将第二个文档的内容追加到第一个文档中。 5. 保存新的 Word 文档,使用 FileOutputStream 保存文档。 在上面的代码中,我们可以看到,main ...
c) **多文档合并**:Java2Word还支持将多个Word文档合并成一个。开发者可以读取每个文档,然后将内容逐一添加到目标文档中,实现多个文档的整合。 这些示例代码虽然未在文本中给出,但在实际的Java2Word文档中应有...
Java与Word接口Jacob_1.9是一个用于在Java应用程序中操作Microsoft Word文档的库。Jacob全称为Java COM Bridge,它提供了Java与COM组件之间的桥梁,允许开发者通过Java代码调用和控制Word的功能,如创建、读取、修改...
在"jacob-1.17"压缩包中,包含了以下几个关键文件: 1. **jacob-1.17-x64.dll**:这是针对64位操作系统的Jacob库动态链接库文件。在运行Java程序时,这个DLL文件会被加载,使得Java代码能够调用64位的COM组件。 2....
4. **自动化Office任务**:对于需要批量处理的Office文档,例如批量转换文件格式、合并多个文档,Jacob都能提供高效的解决方案。 5. **与其他COM组件交互**:Jacob不仅仅局限于Office,它还可以用于与任何支持COM...
标题中的"jacob-1.18-M2.rar"是一个压缩包文件,其中包含了Jacob库的不同版本和针对不同处理器架构的动态链接库(DLL)文件。"jacob.jar"是Jacob的核心Java库,包含了Java代码,使得Java应用程序能够通过JNI(Java ...
在Jacob-1.17-M4中,可能包含了一个或多个DLL文件,这些文件是Jacob与Windows操作系统通信的桥梁,允许Java应用程序利用COM接口执行例如创建、修改和导出Word文档等操作。 在描述中提到的“jar包”,即Java Archive...
- **Word操作**:可以使用Jacob创建一个新的Word文档,然后插入文本、段落、图片,设置字体样式,进行页面布局,甚至执行Word内置的宏命令。 - **Excel操作**:可以读取和写入Excel工作表的数据,包括公式计算、...
例如,你可以使用JCob创建一个新的Word文档,添加文本、段落,甚至执行复杂的格式化任务,如调整字体、颜色和对齐方式。 Excel方面,JCob提供了访问和操作电子表格的功能。你可以创建新的工作簿,填充数据,设置...