بتاريخ: 25 سبتمبر 200817 سنة comment_139698 السلام عليكم و رحمة الله و بركاته ياريت حد يقولي على طريقة لعمل Export لناتج Query يتم حفظه أو فتحه على الـ Client Mashine على شكل ملف Excel من على الـ Forms انا استخدمت OLE2 Package بس بتعمل ملف الـ Excel على الـ Serverو جربت الـ UTl_FILE على اساس اعمل ملف TXT بس بردوا بيعمل الملف على الـ Server مش الـ Clientو شكراً .. تقديم بلاغ
بتاريخ: 26 سبتمبر 200817 سنة comment_139713 السلام عليكم اول شئ يجب ان يكون برنامج اكسل على جهاز المستخدم.ثانيا استخدم الكود التالي مع التعديل: declare CURSOR c_cur IS select col1, col2 from tab1 where col3= cond; 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:=4; 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:='name_1' :global.nm2:='name_2' for gg in 1..2 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 ; 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; ---------------------------------- -- للاسلام و المسلمين ----- تقديم بلاغ
بتاريخ: 26 سبتمبر 200817 سنة comment_139718 اللينك التالي مشاركة من الاتاذ سامح بكارhttp://www.araboug.org/ib/index.php?showto...mp;#entry136535تم عملها على SCOTT ولكن مع بعض التعديلات يمكنك أن تقوم بتهيئة الكود على المستخدم الذي تريده تقديم بلاغ
بتاريخ: 1 أكتوبر 200817 سنة كاتب الموضوع comment_139984 أشكركم جدا ...بس زي ما انا قلت في الأول أنا استخدمت الـ OLE2 و شغالة كويس على الـ release 6i Forms لأنه مافيش App. server و الملف بيتفتح و بيتحفظ على جهاز المستخدم انما المشكلة في release 10g Forms لأن الباكج بترمي الملف الاكسل على الجهاز اللي فيه FMX يعني على App. serverو دا اللي بسأل عنه ... هل فيه حل لهذه الحالةو كل عام و انتم بخير .. تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.