java操作word文档

原创 2007年10月10日 16:42:00

package com.yxm.word;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

/**
 *
 * @author yuxueming
 *
 */

public class FileExtracter{  
 
 private ActiveXComponent wordOpen = null;
 private Dispatch dispatch = null;
 
 public FileExtracter(){
  wordOpen = new ActiveXComponent("Word.Application"); //指定类型
 } 
 
 /**
  * 打开word文件
  * @param filePath
  */
 
 public void openWord(String filePath){
  try{  
   wordOpen.setProperty("Visible",true);
   dispatch = wordOpen.getProperty("Documents").toDispatch();
   Dispatch.invoke(dispatch,"Open",Dispatch.Method,new Object[]{filePath},new int[1]);
  }
  catch(Exception e){
   e.printStackTrace();
  }finally{
   closeDispatch(filePath);
  }
 }
 
 /**
  * 转换成TXT文件
  * @param inputFIle
  * @param outputFile
  */
 
 public  void extractDoc(String inputFIle,String outputFile)
 {
     boolean flag = false;               
     try {       
     wordOpen.setProperty("Visible", false);        // 设置word不可见     
     dispatch = wordOpen.getProperty("Documents").toDispatch();   // 打开word文件
        Dispatch doc2 = Dispatch.invoke(dispatch,"Open", Dispatch.Method, new Object[] { inputFIle, false,
          true}, new int[1]).toDispatch();             // 作为txt格式保存到临时文件 
        Dispatch.invoke(doc2, "SaveAs", Dispatch.Method, new Object[] {outputFile, new Variant(7) }, new int[1]); //关闭word
       
        Variant f = new Variant(false);
        Dispatch.call(doc2, "Close", f);
        flag = true;
     } catch (Exception e) {
        e.printStackTrace();
     } finally {
      wordOpen.invoke("Quit", new Variant[] {});
     }
     if (flag == true) {
        System.out.println("Transformed Successfully");
     } else {
        System.out.println("Transform Failed");
     }

 }
 /**
  * 关闭当前文件
  * @param filePath
  */
 public void closeDispatch(String filePath){
  Dispatch.call(dispatch,"close",filePath);
 }
 
 public static void main(String [] args ){
//  new FileExtracter().openWord("f:/rz.doc");
  new FileExtracter().extractDoc("f:/rz.doc", "f:/rz.txt");
 }
}    

利用Java读取并写入Word文件

java 读取Word,写入Word
  • xiyushiyi
  • xiyushiyi
  • 2014年11月26日 17:54
  • 48467

java 读word文档模板,同时往word文档里面插入数据

1.先看word文档模板 word文档先换成.xml格式。现阶段的word都支持另存为xml格式 2.看如下代码的作用。该段断码,只是传一个文件的路径。我们就能读取文件中的所有内容。 privat...
  • baicp3
  • baicp3
  • 2015年04月14日 21:28
  • 2518

POI操作word模板并生成新的word.docx

XWPFDocument对象POI是apache提供的可以操作word文档的第三方jar。POI能操作word是使用XWPFDocument对象。 XWPFDocument对象可以解析docx文件,在...
  • Harry_ZH_Wang
  • Harry_ZH_Wang
  • 2017年03月18日 01:26
  • 5181

java 利用XML形式导出word

用XML做就很简单了。Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用jav...
  • qq_33212500
  • qq_33212500
  • 2017年01月17日 14:16
  • 3199

java后台利用模板生成Word文档提供前台下载

java后台利用模板生成Word文档提供前台下载,freeMarker思路
  • u010251278
  • u010251278
  • 2016年11月25日 16:26
  • 13221

模板生成word文档 By POI+Word书签功能

刚开始接到生成文档的时候,我的内心是拒绝的,脑海里回想起了苦痛挪位置调像素的jasper,和不停add各种style的POI。但是这个模块都归我~~~老子说了算赶紧上网搜搜有没什么easy way。看...
  • calance
  • calance
  • 2016年10月13日 18:42
  • 2668

Java POI通过模板方法生成word文档

大家可能看过另一篇博客,这个是博客地址点击打开链接 里面说到使用模板的方式生成word文档,但是给出的代码并没有起效,这里我稍作了修改,这个是word文档模板方法操作工具类: package util...
  • mate_ge
  • mate_ge
  • 2016年03月06日 12:54
  • 21300

使用POI读取word文档内容

读word doc文件2中方式 1.1     通过WordExtractor读文件(在WordExtractor内部进行信息读取时还是通过HWPFDocument来获取的。) 1.2  ...
  • QQ578473688
  • QQ578473688
  • 2017年05月14日 22:59
  • 11601

VC操作操作Word

一、首先在VC下建立简单的对话框程序,然后打开类向导,点右边的Add Class-》from a library,找到word的封装类库,一般在C:/Program Files/Microsoft O...
  • kervin521
  • kervin521
  • 2014年06月10日 22:02
  • 1134

Asp.net如何操作Word文档

引用Word对象库文件 具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组...
  • jkpi888
  • jkpi888
  • 2013年12月04日 23:52
  • 1365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java操作word文档
举报原因:
原因补充:

(最多只允许输入30个字)