java 调用word

文章出处:http://www.diybl.com/course/3_program/java/javajs/200843/108206.html

package com.test;

import com.jacob.activeX.ActiveXComponent;

import com.jacob.com.Dispatch;

import com.jacob.com.Variant;

public class WordBean extends java.awt.Panel {

private ActiveXComponent MsWordApp = null;

private Dispatch document = null;

public WordBean() {

super();

}

// 打开word文档

public void openWord(boolean makeVisible) {

if (MsWordApp == null) {

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

}

// 设置打开word文档是否可见

Dispatch.put(MsWordApp, "Visible", new Variant(makeVisible));

}

// 打开wordDocument

public void openWordDocument(String openFile) {

Dispatch documents = Dispatch.get(MsWordApp, "Documents").toDispatch();

document = Dispatch.invoke(documents, "Open",Dispatch.Method,

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

new Variant(true) }, new int[1]).toDispatch();

}

// 创建word文档

public void createNewDocument() {

// Find the Documents collection object maintained by Word

Dispatch documents = Dispatch.get(MsWordApp, "Documents").toDispatch();

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

}

// 插入内容

public void insertText(String textToInsert) {

// Get the current selection within Word at the moment. If

// 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.put(selection, "Text", textToInsert);

}

// 文件另存为

public void saveFileAs(String saveFile) {

Dispatch.invoke(document, "SaveAs", Dispatch.Method, new Object[] {

saveFile, new Variant(0) }, new int[1]);

Variant variant = new Variant(false);

Dispatch.call(document, "Close", variant);

//   Dispatch.call(document, "SaveAs", saveFile);

}

public void printFile() {

// Just print the current document to the default printer

Dispatch.call(document, "PrintOut");

}

// 关闭word文档

public void closeDocument() {

// 0 = wdDoNotSaveChanges

// -1 = wdSaveChanges

// -2 = wdPromptToSaveChanges

Dispatch.call(document, "Close", new Variant(0));

document = null;

}

// 关闭officeWord

public void closeWord() {

Dispatch.call(MsWordApp, "Quit");

MsWordApp = null;

document = null;

}

// 替换文本

public void replace(String oldText, String newText) {

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

Dispatch find = MsWordApp.call(selection, "Find").toDispatch();

Dispatch.put(find, "Text", oldText);

Dispatch.call(find, "Execute");

Dispatch.put(selection, "Text", newText);

Dispatch.call(selection, "MoveRight");

}

}

package com.test;

public class WordTest {

public static void main(String[] args) {

WordBean word = new WordBean();

word.openWord(false);

//  word.createNewDocument();

//  word.insertText("1234567890");

//  word.saveFileAs("d:""1.doc");

word.openWordDocument("d:""1.doc");

word.replace("2", "xx"); //替换

word.replace("3", "yy");

word.saveFileAs("d:""2.doc");

//  word.closeDocument();

word.closeWord();

}

}

java调用office_java 调用word相关推荐

  1. java 调用office_JAVA调用PageOffice在线打开、编辑Word文档

    普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果. 下面我就简单的和大家分享一下如何实现Word文档的 ...

  2. java 操作office_Java操作word的方法

    使用Java操作word的方法有几个,我一一列出来:IText,Apache的POI包,tm-extractors包,jacob包,java2word包. IText包比较大,但是功能比较全.而且比较 ...

  3. java打印word_Java jacob调用打印机打印word文档

    前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...

  4. java 横向 打印出来_java jacob调用打印,word,excel横向打印

    java jacob调用打印,word,excel横向打印 public static boolean printOfficeFile(File f) { if (f != null &&am ...

  5. loadrunner 调用java_LoadRunner调用Java程序—性能测试

    为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试. 通常我 ...

  6. java web调用c_Java调用C/C++程序

    JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式).通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器 ...

  7. Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...

    问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...

  8. 深入掌握Java技术 EJB调用原理分析

      深入掌握Java技术 EJB调用原理分析     一个远程对象至少要包括4个class文件:远程对象:远程对象的接口:实现远程接口的对象的stub:对象的skeleton这4个class文件. 在 ...

  9. 【Groovy】Groovy 脚本调用 ( Java 类中调用 Groovy 脚本 )

    文章目录 前言 一.Groovy 类中调用 Groovy 脚本 1.参考 Script#evaluate 方法分析 Groovy 类中调用 Groovy 脚本 2.创建 Binding 对象并设置 a ...

最新文章

  1. 华为云AIOps实践全面解析
  2. 深入理解多线程(一)——Synchronized的实现原理
  3. java中四种操作(DOM、SAX、JDOM、DOM4J)xml方式详解与比较(转)
  4. php如何处理查询请求,PHP如何处理Web请求流程
  5. minianaconda安装图形化界面
  6. 三菱伺服驱动器说明书_干货——PLC控制伺服系统(伺服电机)
  7. 保密协议与竞业限制协议,在劳动法上有什么相关规定吗?
  8. 中国计算机软件行业分析4---外企的商业贿赂
  9. 金山和微软word脚注和尾注问题
  10. 北京家庭摇号积分计算方式
  11. matlab非单位阶跃响应,MATLAB下二阶系统的单位阶跃响应
  12. cvte在线笔试 android,CVTE在线笔试
  13. 国家中小学网络平台爬虫项目
  14. 在表示计算机存储容量中1T,1T等于多少G,
  15. 微博直播场景下,如何实现百万并发的答题互动系统
  16. 【C语言练习4】根据公式计算π的值,π=4-4/3+4/5-4/7+4/9+... 打印出一个表格来显示,用公式中的1项、2项、3项...计算出来π的近似值
  17. FPGA云原生 Xilinx FPGA_as_a_Service 概述
  18. Python函数返回值的作用
  19. WORD文档类型跟WORD97-2003文档类型有什么不同
  20. Java定时器Timer和第三方定时器Quartz

热门文章

  1. 联想一直提示正在更新计算机启动配置,联想笔记本开机页面一直停留在准备配置windows 请勿关闭计算机 也没有以...
  2. [BZOJ1018]SHOI2008堵塞的交通|线段树
  3. 使用OLS摘要解释线性回归的结果
  4. 循环嵌套问题:为什么大循环在内,小循环在外可以提高程序的运行效率
  5. Odata的使用——查询filter
  6. 二手汽车交易平台源码(含数据库脚本)
  7. 熊猫图表 连接mysql_使用PHP将MySQL数据库连接到JavaScript图表
  8. RF基础(相位和波长、回波损耗和驻波比、电缆阻抗、极化、天线波束宽度)
  9. win10系统开机输入密码黑屏解决方法
  10. 2025年全球云计算市场价值达8321亿美元