java操作word的表格

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java操作word的表格

最近项目中需要把提交的页面表单的数据动态写在word模板中,简单的写了个工具类。里面有怎眼操作word 中表格的内容,可以在word中已有的表格后面添加行并且可以增加内容。

/**

* @title WordBean.java

* @package com.sinosoft.bjppb_print.utils.word

* @description文件描述

* @author lijf

* @update 2012-7-26 下午04:17:10

* @version V1.0

*/

package com.sinosoft.bjppb_print.utils.word;

import java.util.Map;

import com.jacob.activeX.ActiveXComponent;

import .Dispatch;

import .Variant;

public class WordBean {

// word文档

static Dispatch doc;

// word运行程序对象

private ActiveXComponent word;

// 所有word文档集合

private Dispatch documents;

// 选定的范围或插入点

private Dispatch selection;

private boolean saveOnExit = true;

public WordBean() throws Exception {

if (word == null) {

word = new ActiveXComponent("Word.Application");

word.setProperty("Visible", new Variant(false)); // 不可见打开word

word.setProperty("AutomationSecurity", new Variant(3)); // 禁用宏

}

if (documents == null)

documents = word.getProperty("Documents").toDispatch();

}

* 重载,制定文档用户名称,主要用于痕迹保留时候显示对应的用户

* @param username

* @throws Exception

*/

public WordBean(String username) throws Exception {

if (word == null) {

word = new ActiveXComponent("Word.Application");

word.setProperty("UserName", new Variant(username));

word.setProperty("Visible", new Variant(true)); // 不可见打开word word.setProperty("AutomationSecurity", new Variant(3)); // 禁用宏

}

if (documents == null)

documents = word.getProperty("Documents").toDispatch();

}

/**

* * 设置退出时参数

*

* @param saveOnExit *

* boolean true-退出时保存文件,false-退出时不保存文件

*

*/

public void setSaveOnExit(boolean saveOnExit) {

this.saveOnExit = saveOnExit;

}

/**

* * 创建一个新的word文档

*/

public void createNewDocument() {

doc = Dispatch.call(documents, "Add").toDispatch();

selection = Dispatch.get(word, "Selection").toDispatch();

}

/**

* * 打开一个已存在的文档 * *

*

* @param docPath

*/

public void openDocument(String docPath) {

closeDocument();

doc = Dispatch.call(documents, "Open", docPath).toDispatch();

Dispatch.put(doc, "TrackRevisions", new Variant(true));

Dispatch.put(doc, "PrintRevisions", new Variant(true));

Dispatch.put(doc, "ShowRevisions", new Variant(false));

selection = Dispatch.get(word, "Selection").toDispatch();

}

/**

*

* 只读打开一个保护文档,

* @param docPath-文件全名 *

* @param pwd-密码

*

*/

public void openDocumentOnlyRead(String docPath, String pwd)

throws Exception {

closeDocument();

doc = Dispatch.callN(documents, "Open", new Object[] { docPath, new Variant(false),new Variant(true), new Variant(true), pwd, "",new Variant(false) }).toDispatch(); selection = Dispatch.get(word, "Selection").toDispatch();

}

public void openDocument(String docPath, String pwd) throws Exception {

closeDocument();

doc = Dispatch.callN(

documents,

"Open",

new Object[] { docPath, new Variant(false), new Variant(false),

new Variant(true), pwd }).toDispatch();

selection = Dispatch.get(word, "Selection").toDispatch();

}

相关文档
最新文档