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