我是开始学习java的,从网上找了一个关于jacob的程序,程序如下:
import com.jacob.com.*;
import com.jacob.activeX.*;public class Dispatch_MSExcel {
/**
* 打开excel文件在第一行写入:123.456,在第二行写入一个方程式:A2=A1*2
* 然后关闭excel
*/
public void OpenExcelAndWriteData(){
ActiveXComponent xl=new ActiveXComponent("Excel.Application");
try{
xl.setProperty("Visible",new Variant(true));
Object workbooks=xl.getProperty("Workbooks").toDispatch();
Object workbook=Dispatch.get(workbooks,"Add").toDispatch();
Object sheet=Dispatch.get(workbook,"ActiveSheet").toDispatch();
Object a1=Dispatch.invoke(sheet,"Range",Dispatch.Get,new Object[]{"A1"},new int[1]).toDispatch();
Object a2=Dispatch.invoke(sheet,"Range",Dispatch.Get,new Object[]{"A2"},new int[1]).toDispatch();
Dispatch.put(a1,"Value","123.456");
Dispatch.put(a2,"Formula","=A1*2");
Variant f=new Variant(false);
Dispatch.call(workbook,"Close",f);
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
xl.invoke("Quit",new Variant[]{});
}
}
public static void main(String[] argv){
Dispatch_MSExcel d=new Dispatch_MSExcel();
d.OpenExcelAndWriteData();
}
}
编译通过,执行时出现下列错误提示:
com.jacob.com.ComFailException:A COM Exception has been encountered:
At Invoke of: Workbooks
Description:An unknown COM error has occured
at com.jacob.com.Dispatch.invokev<Native Method>
at com.jacob.activeX.ActiveXComponent.getProperty<ActiveXComponent.java>
at Dispatch_MSExcel.OpenExcelAndWriteDate<Dispatch_MSExcel.java:22>
at Dispatch_MSExcel.main<Dispatch_MSExcel.java:42>
Excetpion in thread "main"com.jacob.com.ComFailException:A COM Exception has been encountered:
At Invoke of: Quit
Description:An unknown COM error has occured
at com.jacob.com.Dispatch.invokev<Native Method>
at com.jacob.activeX.ActiveXComponent.invoke<ActiveXComponent.java>
at Dispatch_MSExcel.OpenExcelAndWriteDate<Dispatch_MSExcel.java:36>
at Dispatch_MSExcel.main<Dispatch_MSExcel.java:42>
因为我是初学,实在不知道是什么原因造成这样的错误,还请各位高手帮忙看看
import com.jacob.com.*;
import com.jacob.activeX.*;public class Dispatch_MSExcel {
/**
* 打开excel文件在第一行写入:123.456,在第二行写入一个方程式:A2=A1*2
* 然后关闭excel
*/
public void OpenExcelAndWriteData(){
ActiveXComponent xl=new ActiveXComponent("Excel.Application");
try{
xl.setProperty("Visible",new Variant(true));
Object workbooks=xl.getProperty("Workbooks").toDispatch();
Object workbook=Dispatch.get(workbooks,"Add").toDispatch();
Object sheet=Dispatch.get(workbook,"ActiveSheet").toDispatch();
Object a1=Dispatch.invoke(sheet,"Range",Dispatch.Get,new Object[]{"A1"},new int[1]).toDispatch();
Object a2=Dispatch.invoke(sheet,"Range",Dispatch.Get,new Object[]{"A2"},new int[1]).toDispatch();
Dispatch.put(a1,"Value","123.456");
Dispatch.put(a2,"Formula","=A1*2");
Variant f=new Variant(false);
Dispatch.call(workbook,"Close",f);
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
xl.invoke("Quit",new Variant[]{});
}
}
public static void main(String[] argv){
Dispatch_MSExcel d=new Dispatch_MSExcel();
d.OpenExcelAndWriteData();
}
}
编译通过,执行时出现下列错误提示:
com.jacob.com.ComFailException:A COM Exception has been encountered:
At Invoke of: Workbooks
Description:An unknown COM error has occured
at com.jacob.com.Dispatch.invokev<Native Method>
at com.jacob.activeX.ActiveXComponent.getProperty<ActiveXComponent.java>
at Dispatch_MSExcel.OpenExcelAndWriteDate<Dispatch_MSExcel.java:22>
at Dispatch_MSExcel.main<Dispatch_MSExcel.java:42>
Excetpion in thread "main"com.jacob.com.ComFailException:A COM Exception has been encountered:
At Invoke of: Quit
Description:An unknown COM error has occured
at com.jacob.com.Dispatch.invokev<Native Method>
at com.jacob.activeX.ActiveXComponent.invoke<ActiveXComponent.java>
at Dispatch_MSExcel.OpenExcelAndWriteDate<Dispatch_MSExcel.java:36>
at Dispatch_MSExcel.main<Dispatch_MSExcel.java:42>
因为我是初学,实在不知道是什么原因造成这样的错误,还请各位高手帮忙看看
我用jacob读word文件,由于文件中有韩语,所以对韩语的查找替换不能正常进行。我在数据库中输入了韩语,然后读到java中就变成了?请教高手怎么解决?