java jacob 操作word 文档,进行写操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第一部分Word文档自动追加表格内容 (2)
第二部分java jacob 操作word 文档,进行写操作,如生成表格,添加图片 (3)
第三部分 (28)
第一部分Word文档自动追加表格内容
今天在做一个自动化生成SDD文档的小工具,通过Word的模板,前台通过Flex填入数据,最后将Word文档填写好。以下是一部分代码,关于表格自动追加表格内容
Java代码
第二部分java jacob 操作word 文档,进行写操作,如生成表格,添加图片jacob-1.15-M3.zip
jacob-1.15-M3-x86.dll copy到c://windows/system32
引入jacob.jar 示例代码
view p lain
import jav a.io.File;
import com.jacob.activ eX.Activ eXComponent;
import .Dispatch;
import .Variant;
class WordBean {
// 代表一个word 程序
priv ate Activ eXComponent MsWordApp = null;
// 代表进行处理的word 文档
priv ate Dispatch document = null;
public WordBean() {
// Open Word if we/'v e not done it already
if (MsWordApp == null) {
MsWordApp = new Activ eXComponent("Word.Application");
}
}
// 设置是否在前台打开word 程序,
public v oid setVisible(boolean v isible) {
MsWordApp.setProperty("Visible", new Variant(v isible));
// 这一句作用相同
// Dispatch.put(MsWordApp, "Visible", new Variant(v isible));
}
// 创建一个新文档
public v oid createNewDocument() {
// Find the Documents collection object maintained by Word
// documents表示word的所有文档窗口,(word是多文档应用程序)
Dispatch documents = Dispatch.get(MsWordApp, "Documents").toDispatch();
// Call the Add method of the Documents collection to create
// a new document to edit
document = Dispatch.call(documents, "Add").toDispatch();
}
// 打开一个存在的word文档,并用document 引用引用它
public v oid openFile(String wordFilePath) {
// Find the Documents collection object maintained by Word
// documents表示word的所有文档窗口,(word是多文档应用程序)
Dispatch documents = Dispatch.get(MsWordApp, "Documents").toDispatch();
document = Dispatch.call(documents, "Open", wordFilePath,
new Variant(true)/* 是否进行转换Conf irmConv ersions */,
new Variant(f alse)/* 是否只读*/).toDispatch();
// document = Dispatch.inv oke(documents, "Open", Dispatch.Method,
// new Object[] { wordFilePath, new Variant(true),
// new Variant(f alse)
// }, new int[1]).toDispatch();
}
// 向document 中插入文本内容
public v oid insertText(String textToInsert) {
// Get the current selection within Word at the moment.
// a new document has just been created then this will be at
// the top of the new doc 获得选中的内容,如果是一个新创建的文件,因里面无内容,则光标应处于文件开头处Dispatch selection = Dispatch.get(MsWordApp, "Selection").toDispatch();
// 取消选中,应该就是移动光标,否则新添加的内容会覆盖选中的内容
Dispatch.call(selection, "Mov eRight", new Variant(1), new Variant(1));
// Put the specified text at the insertion point
Dispatch.put(selection, "Text", textToInsert);
// 取消选中,应该就是移动光标
Dispatch.call(selection, "Mov eRight", new Variant(1), new Variant(1));