这是处理Word的代码,拿去改改用吧! DECLARE testApp OLE2.OBJ_TYPE; testDocuments OLE2.OBJ_TYPE; testDocument OLE2.OBJ_TYPE; testSelection OLE2.OBJ_TYPE; i number:=0; j number:=25; cc number:=0; b number:=0;
args OLE2.LIST_TYPE; DocumentName varchar2(30):= 'c:\test_ole.DOC'; cursor a is select a,b,c from test where rownum<=45; bb a%rowtype; BEGIN --建立word对象 testapp:=OLE2.CREATE_OBJ('Word.Application'); OLE2.SET_PROPERTY(testapp, 'Visible', 1);
-- 在book处插入数据 OLE2.SET_PROPERTY(testSelection, 'Text', bb.c||';'); OLE2.DESTROY_ARGLIST(args); fetch a into bb; exit when a%notfound; end loop; end if; -- 释放ole对象 OLE2.RELEASE_OBJ(testSelection); OLE2.RELEASE_OBJ(testDocument); OLE2.RELEASE_OBJ(testDocuments); OLE2.RELEASE_OBJ(testapp);
END;
you can use utl_file package to read and write operting system text files
哪位高手帮忙有例子共享一下!
com组件,你想个读写EXCEL也就是和EXCEL通讯的问题。不知道Oracle Office包里有没有这种写好的函数,如果没有,就得用C(Pro C)语言写个外部历程,还得引入EXCEL这个组件,这个组件里包含了所有的excel的命令,VBA能用的他都有。这样肯定能实现。太麻烦了,呵呵!
可以将 oracle 的数据,通过包(Oracle 自带)来实现对 word,execl 操作.
哪位高手有例子麻烦共享一下,可用马上给分!
http://www.oradb.net/tran/excel2ora.htm
而不是要另存为文本文件在处理!
有没有直接操作EXCEL的例子!谢谢!
DECLARE
testApp OLE2.OBJ_TYPE;
testDocuments OLE2.OBJ_TYPE;
testDocument OLE2.OBJ_TYPE;
testSelection OLE2.OBJ_TYPE;
i number:=0;
j number:=25;
cc number:=0;
b number:=0;
args OLE2.LIST_TYPE;
DocumentName varchar2(30):= 'c:\test_ole.DOC';
cursor a is select a,b,c from test where rownum<=45;
bb a%rowtype;
BEGIN
--建立word对象
testapp:=OLE2.CREATE_OBJ('Word.Application');
OLE2.SET_PROPERTY(testapp, 'Visible', 1);
-- 取得word文档集合
testDocuments:=OLE2.GET_OBJ_PROPERTY(testapp, 'Documents');
-- 打开一个word文档
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, DocumentName);
testDocument :=OLE2.INVOKE_OBJ(testDocuments,'Open',args);
OLE2.DESTROY_ARGLIST(args);
testSelection:=OLE2.GET_OBJ_PROPERTY(testapp, 'Selection');
open a;
fetch a into bb;
if a%notfound then
null ;
else
loop
-- 导航到book
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, -1); -- constant 'wdGoToBook' = -1
OLE2.ADD_ARG(args,0); -- Which
OLE2.ADD_ARG(args,0); -- Count
OLE2.ADD_ARG(args, 'mk_name'); -- Name => book name
OLE2.INVOKE(testSelection,'GoTo',args);
-- 在book处插入数据
OLE2.SET_PROPERTY(testSelection, 'Text', bb.a||';');
OLE2.DESTROY_ARGLIST(args);
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, -1);
OLE2.ADD_ARG(args,0);
OLE2.ADD_ARG(args,0);
OLE2.ADD_ARG(args, 'mk_property');
OLE2.INVOKE(testSelection,'GoTo',args);
-- 在book处插入数据
OLE2.SET_PROPERTY(testSelection, 'Text', bb.b||';');
OLE2.DESTROY_ARGLIST(args);
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, -1);
OLE2.ADD_ARG(args,0);
OLE2.ADD_ARG(args,0);
OLE2.ADD_ARG(args, 'ccproperty');
OLE2.INVOKE(testSelection,'GoTo',args);
-- 在book处插入数据
OLE2.SET_PROPERTY(testSelection, 'Text', bb.c||';');
OLE2.DESTROY_ARGLIST(args);
fetch a into bb;
exit when a%notfound;
end loop;
end if;
-- 释放ole对象
OLE2.RELEASE_OBJ(testSelection);
OLE2.RELEASE_OBJ(testDocument);
OLE2.RELEASE_OBJ(testDocuments);
OLE2.RELEASE_OBJ(testapp);
END;