读书人

java 透过delphi dll操作excel 无法执

发布时间: 2013-07-08 14:13:00 作者: rapoo

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支持的比较好!

读书人网 >.NET

热点推荐