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軟件且註冊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章