بتاريخ: 30 يناير 200818 سنة comment_121635 السلام عليكم و رحمة الله و بركاتهاخواني و اخواتياريد طريقة استطيع من خلالها تصدير البيانات من الفورم الى اكسل شيت او من الريبورت الى اكسل شيت علما اني استخدم اوراكل ديفيلوبر 6i second releaseو رحم الله والديكم دنيا و اخرة تقديم بلاغ
بتاريخ: 5 فبراير 200818 سنة comment_121939 الخ العزيز إليك هذا الكود يمكنك وضعه فى زر مع تغيير أسماء الأعمده ومسار الأوفيس declare appid PLS_INTEGER; convid PLS_INTEGER; docid PLS_INTEGER; i number := 0; filename varchar(150); Cursor c1 is SELECT * FROM table_name ; j number; BEGIN -- Start Excel APPID := DDE.APP_BEGIN('c:\Program Files\Microsoft Office\Office11\excel.exe', DDE.APP_MODE_MINIMIZED); --DDE.APP_MODE_NORMAL); --DDE.APP_MODE_MAXIMIZED); convid := DDE.INITIATE('excel', 'system'); -- Open Excel document filename := 'c:\' || 'example' || '.xls'; DDE.EXECUTE(convid, '[save.As("' || filename || '")]', 10000); DDE.EXECUTE(convid, '[Open("' || filename || '")]', 10000); -- Initiate conversation with Excel document docid := DDE.INITIATE('excel', filename); -- insert header on excel sheet j:=1; DDE.POKE(docid, 'R' || j || 'C1','col1', DDE.CF_TEXT, 5000); DDE.POKE(docid, 'R' || j || 'C2','col2', DDE.CF_TEXT, 5000); j:= j + 1 ; -- insert Emty Row -- insertdata on excel sheet for i in c1 loop j:= j+1; DDE.POKE(docid, 'R' || j || 'C1',i.SMS_ID, DDE.CF_TEXT, 5000); DDE.POKE(docid, 'R' || j || 'C2',i.col1', DDE.CF_TEXT, 5000); DDE.POKE(docid, 'R' || j || 'C3',i.col2', DDE.CF_TEXT, 5000); end loop; --End transfer to Excel DDE.TERMINATE(docid); DDE.TERMINATE(convid); --DDE.APP_END(appid); END; تقديم بلاغ
بتاريخ: 21 يونيو 200916 سنة comment_160887 السلام عليكماخي الحبيب...يمكنك استخدام هادا الكود مع تغيير اسماء الاعمده .... DECLARE CURSOR c_cur IS SELECT PART_NO,PART_ID,PART_ID_DATE,PART_NAME,PART_MOB,PART_TEL,PART_REG_DATE,PART_ADDR ESS FROM PARTS; 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:=8; 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:=ST_NO; :global.nm2:=ST_ID; :global.nm3:=ISSUE_DATE; :global.nm4:=ST_NAME; :global.nm5:=MOBILE; :global.nm6:='TEL'; :global.nm7:=REG_DATE; :global.nm8:='ADDRESS'; for gg in 1..8 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,:global.8; exit when c_cur%NOTFOUND; --c2:=1; --end if; 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.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; بالتوفيق تم تعديل 21 يونيو 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 8 يوليو 200916 سنة comment_162594 الأخ الفاضل Tamoraالسلام عليكم ورحمة اللهأولا بارك الله فيك على هذا التعاون وهذه المشاركةثانيا انا قمت بتنفيذ الإجراء ولكن أظهر مجموعة أخطاء ولما حاولت التغيير لتجنب الأخطاء أعطانى رسالة خصأ فى تنفيذ الفورمواوضح لك مكان الخطأ1- المتغير SMS_ID لم يسبق تعريفه لو سمحت توضح ما المقصود به واين يتم تعريفه هل فى ال DECLARE أم مقصود به جزء يخص الملف نفسه أى ال TABLE2- كل من col1' وايضا col2' تعطيان رسالة خطأ بسبب وجود علامة تنصيص واحدة دون وجود الأخرىبارك الله بكم ورجاء مراجعة هذا الاجراء وكتابة التصحيح وأسأل الله ان يجعل هذا العمل فى ميزان حسناتكم ان شاء الله تقديم بلاغ
بتاريخ: 23 مايو 201015 سنة comment_192675 اخواتى الاعزاء تم تنفيز الكود و هوا شغال معايا كويس اوى على ال FORM BUILDER بس عندى مشكله كبيره لما اشغل الفورمه على ال APPLICATION SERVER مش بيشتغل الكود ممكن حد يقولى ايه هيا المشكله و يا ريت الحل بعد اذن الجميع تقديم بلاغ
بتاريخ: 24 مايو 201015 سنة comment_192827 يا ريت حد من الساده فريق الإشراف الرد على الموضوع بتاعى عشان انا بجد تعبت من المحولات هو المحتمل ان المكتبه DDE ليسة من ضمن مكونات application server عشان كده الاكسل مش بيفتح من الاساس بس هو بيفتح من على الرن تايم بتاع form builderيا ريت الرد السريع بعد اذن الساده فريق الإشراف تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.