بتاريخ: 2 يناير 200917 سنة comment_145988 /*before using this code create a table with fields client with fields id,name; insert some data into table; create a button on form; and on trigger when button pressed copy this code and paste it; hope this will work; */ DECLARE idd varchar2(30); name varchar2(30); CURSOR c_cur IS SELECT client.id,client.name FROM client; 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; begin --INITIAL CODE ESTABLISHING THE Excel Object and Workbook/Worksheet 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'); --ESTABLISH WHICH CELL TO POPULATE (row and column) OPEN c_cur; c1:=1; LOOP c2:=1; fetch c_cur into idd,name; exit when c_cur%NOTFOUND; loop if c2=2 then exit; end if; args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, c1); OLE2.ADD_ARG(args, c2); cell := OLE2.GET_OBJ_PROPERTY(wss,'Cells', args); OLE2.SET_PROPERTY(cell, 'Value', idd); OLE2.DESTROY_ARGLIST(args); ole2.release_obj(cell); c2:=c2+1; args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, c1); OLE2.ADD_ARG(args, c2); cell := OLE2.GET_OBJ_PROPERTY(wss,'Cells', args); OLE2.SET_PROPERTY(cell, 'Value', name); 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.INVOKE(wb, 'SaveAs', args1); OLE2.DESTROY_ARGLIST(args1); OLE2.INVOKE(wb,'CLOSE'); ole2.invoke(MYApplication,'Quit'); 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; --------------------------------------اتمنى من الجميع الاستفادة ولا تنسونا من الدعاء تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.