网上找了很多资料,例如poi,对word可以读出文本,我也试过,但写的时候写出来的文档打不开,应该是编码乱了吧,网上有的说poi对于excel的处理比较好,word只能读取文本,想写word格式文档不行
似乎那个jacob可以写word,我试了下,有两个问题:
1:ActiveXComponent word = new ActiveXComponent("Office12.Word.DocumentMacroEnabled.12");这局代码里的id,如何取得,说是注册表中插件的greid,我怎么找到clsid那个是jacob插件的?现在我去注册表找了个,只是看到有名字写的是word的用了下,不知道对不对,用了之后会报下面2中错误。
2:现在用插件jacob报如下错误:
com.jacob.com.ComFailException: Can't map name to dispid: Visible
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:804)
at com.jacob.com.Dispatch.invoke(Dispatch.java:483)
at com.jacob.com.Dispatch.put(Dispatch.java:762)
at com.jacob.activeX.ActiveXComponent.setProperty(ActiveXComponent.java:164)
at filetoword.MSWordManager.readword2(MSWordManager.java:152)
at filetoword.MSWordManager.main(MSWordManager.java:131)
Exception in thread "main" com.jacob.com.ComFailException: Can't map name to dispid: Quit
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:804)
at com.jacob.com.Dispatch.callN(Dispatch.java:440)
at com.jacob.activeX.ActiveXComponent.invoke(ActiveXComponent.java:489)
at filetoword.MSWordManager.readword2(MSWordManager.java:168)
应该是这句话报错的:
ActiveXComponent app = new ActiveXComponent("Office12.Word.DocumentMacroEnabled.12");
        //启动word
        try
        {
          app.setProperty("Visible", new Variant(false));java word jacob