declare cursor c_cur is select all pub_name,l_no,l_date,l_cl_no,l_cl_name,l_amount,l_remark from train3.legal_note,train3.legal_publ where l_pub=pub_id and l_date between :fday||'\'||:fmonth||'\'||:fyear and :tday||'\'||:tmonth||'\'||:tyear and l_pub between :p1 and :p2 and l_action not in (6,7,8) order by l_no; MyApplication OLE2.OBJ_TYPE; args OLE2.LIST_TYPE; wb OLE2.OBJ_TYPE; wss OLE2.OBJ_TYPE; wbs OLE2.OBJ_TYPE; cell OLE2.OBJ_TYPE; went ole2.obj_type; c1 number(4); c2 number(4); args1 OLE2.LIST_TYPE; nm_of_col number:=7; begin MyApplication := OLE2.CREATE_OBJ('Excel.Application'); OLE2.SET_PROPERTY(MyApplication , 'Visible',1); wbs := OLE2.GET_OBJ_PROPERTY(MyApplication ,'Workbooks'); wb := OLE2.INVOKE_OBJ(wbs,'Add'); wss := OLE2.GET_OBJ_PROPERTY(MyApplication ,'ActiveSheet'); OLE2.SET_PROPERTY(wss , 'Value','Sheet1'); --------------------------------------------------------------------------------------------????? ??????? :global.nm1 :='Publication'; :global.nm2 :='Ser No.'; :global.nm3 :='Date'; :global.nm4 :='Client No'; :global.nm5 :='Client Name'; :global.nm6 :='Amount'; :global.nm7 :='Remark'; for gg in 1..7 loop args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, 1); OLE2.ADD_ARG(args, gg); cell := OLE2.GET_OBJ_PROPERTY(wss,'Cells', args); OLE2.SET_PROPERTY(cell, 'Value',name_in( 'global.nm'||gg)); OLE2.DESTROY_ARGLIST(args); ole2.release_obj(cell); end loop; ----------------------------------------------------------------------------------------------- open c_cur; c1:=2; loop fetch c_cur into :global.1,:global.2,:global.3,:global.4,:global.5,:global.6,:global.7; exit when c_cur%notfound; for vv in 1..nm_of_col loop args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, c1); OLE2.ADD_ARG(args, vv); cell := OLE2.GET_OBJ_PROPERTY(wss,'Cells', args); OLE2.SET_PROPERTY(cell, 'Value',name_in( 'global.'||vv)); OLE2.DESTROY_ARGLIST(args); ole2.release_obj(cell); end loop; c1:=c1+1; end loop; close c_cur; OLE2.DESTROY_ARGLIST(args); args1 := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args1, 'C:\DOCS\EXAMPLE.xls'); OLE2.DESTROY_ARGLIST(args1); ole2.release_obj(wb); ole2.release_obj(wbs); ole2.release_obj(wss); ole2.release_obj(wss); ole2.release_obj(wb); OLE2.RELEASE_OBJ(MyApplication); end;