java 透过delphi dll操作excel 无法执行CreateOleObject('Excel.Application')

java 通过delphi dll操作excel 无法执行CreateOleObject('Excel.Application')
问题描述:
由于excel文档内容非常复杂,通过java 的poi或jxl组件无法成功向excel中插入图片,因此只能考虑通过delphi操作,将其编译成DLL,在使用java调dll完成对excel的操作。
delphi代码如下:

procedure opExcel();
var
    vXLS :Variant;
    WorkSheet :variant;
begin
    vXLS := CreateOleObject('Excel.Application');
    Try
      vXLS.DisplayAlerts :=false;

      vXLS.WorKBooks.Close;
      vXLS.WorkBooks.Open( 'd:\123.xls' );

      WorkSheet := vXLS.WorKBooks[1].Sheets[1];
      WorkSheet.Cells[28,3].Select;
      WorkSheet.Pictures.Insert ('D:\1.png');
      vXLS.WorKBooks[1].Save;
      vXLS.WorKBooks[1].Close;
    Finally
      if Not Varisempty(vXLS) then vXLS.Quit;
    end;
end;


这段代码在delphi中运行毫无问题,但是一旦在java中调用,却发现每次运行到CreateOleObject('Excel.Application')时程序就抛错。
不知这是为何。
注:已经排除java的问题,例如JVM内存不足啥的,都调的很大。
请做过这方面的朋友不吝赐教,不胜感激!
Delphi Java Excel

------解决方案--------------------
http://www.linuxidc.com/Linux/2010-10/29454.htm

建议楼主看这篇文章吧!如果你有jni.pas 支持jdk1.7版本的

发一份给我也可以。我也在学习JAVA调用DELPHI的DLL。
------解决方案--------------------
  要不然楼主用C编写DLL吧,JAVA对C的dll支持的比较好!