jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L

在使用JCOM的时候rm = new ReleaseManager();// 查找JCOM能够操作的组件
excel = new ExcelApplication(rm);// 创建可加载excel组件
创建ExcelApplication的实例的时候,出现如下错误:
"jp.ne.so_net.ga2.no_ji.jcom.JComException: 
createInstance() failed HRESULT=0x800401F3L"问题解决?(安装了office之后就可以了)

在网上收索的解决方法是:

1:与Jcom的版本有关系(最低版本为2.2.0-1以上); 
2:也与Office版本有关系,必须最低版本为office2003以上; 
3:操作系统和开发环境要统一协调(如Tomcat、Java   Jdk、MyEclipse都要搭配协调);
4:将jcom.dll这个组件分别放于tomcat bin目录下;jdk bin目录下;jre bin目录下;
   还有系统System32的文件夹下;这样就会大功告成

本人的解决办法是:由于没有安装office软件,使用的是PWS软件,因而,出现以上错误,安装office之后(2007版的),可以正常的创建该实例。

函数功能:将Office文档(word,excel,powerpoint)转为pdf
环境:jcom(日本的一个开源项目)
条件:安装ms office以及acrobat(不是reader)

package com.zms.office2pdf;
import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;

public class Office2Pdf {

        public void createPDF(String officePath,String pdfPath) throws Exception {
                ReleaseManager rm = null;
                IDispatch app = null;
                try {
                        rm=new ReleaseManager();
                        app = new IDispatch(rm, "PDFMakerAPI.PDFMakerApp");
                        app.method("CreatePDF",new Object[]{officePath,pdfPath});
                } catch (Exception e) {
                        throw e;
                } finally {
                        try {
                                app=null;
                                rm.release();
                                rm = null;
                        } catch (Exception e) {
                                throw e;
                        }
                }              
        }

        public static void main(String[] args) throws Exception {
                Office2Pdf one=new Office2Pdf();
                one.createPDF("D:\\temp\\w.xls","C:\\zms\\temp\\c.pdf");
        }      
}

运行报错:
jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L
原因:要安装Acrobat_Pro软件且注册

猜你喜欢

转载自blog.csdn.net/moyanxuan_1993_2_24/article/details/53303837