java jacob 操作word 文档,进行写操作

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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));

相关文档
最新文档