الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

التصدير الى اكسل

Featured Replies

بتاريخ:

السلام عليكم و رحمة الله و بركاته

اخواني و اخواتي
اريد طريقة استطيع من خلالها تصدير البيانات من الفورم الى اكسل شيت او من الريبورت الى اكسل شيت علما اني استخدم اوراكل ديفيلوبر 6i second release

و رحم الله والديكم دنيا و اخرة

بتاريخ:

الخ العزيز إليك هذا الكود يمكنك وضعه فى زر مع تغيير أسماء الأعمده ومسار الأوفيس

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;

  • بعد 1 سنة...
بتاريخ:

يا ريت حد يرد على الموضوع ده يا جماعة

بتاريخ:

السلام عليكم
اخي الحبيب...
يمكنك استخدام هادا الكود مع تغيير اسماء الاعمده ....

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;



بالتوفيق

تم تعديل بواسطة PALI.ORACLE

  • بعد 3 أسابيع...
بتاريخ:

الأخ الفاضل Tamora
السلام عليكم ورحمة الله
أولا بارك الله فيك على هذا التعاون وهذه المشاركة
ثانيا انا قمت بتنفيذ الإجراء ولكن أظهر مجموعة أخطاء ولما حاولت التغيير لتجنب الأخطاء أعطانى رسالة خصأ فى تنفيذ الفورم
واوضح لك مكان الخطأ
1- المتغير SMS_ID لم يسبق تعريفه لو سمحت توضح ما المقصود به واين يتم تعريفه هل فى ال DECLARE أم مقصود به جزء يخص الملف نفسه أى ال TABLE
2- كل من col1' وايضا col2' تعطيان رسالة خطأ بسبب وجود علامة تنصيص واحدة دون وجود الأخرى

بارك الله بكم ورجاء مراجعة هذا الاجراء وكتابة التصحيح
وأسأل الله ان يجعل هذا العمل فى ميزان حسناتكم ان شاء الله

  • بعد 10 شهور...
بتاريخ:

اخواتى الاعزاء
تم تنفيز الكود و هوا شغال معايا كويس اوى على ال FORM BUILDER بس عندى مشكله كبيره
لما اشغل الفورمه على ال APPLICATION SERVER مش بيشتغل الكود ممكن حد يقولى ايه هيا المشكله
و يا ريت الحل بعد اذن الجميع

بتاريخ:

يا ريت حد من الساده فريق الإشراف الرد على الموضوع بتاعى
عشان انا بجد تعبت من المحولات هو المحتمل ان المكتبه DDE ليسة من ضمن مكونات application server
عشان كده الاكسل مش بيفتح من الاساس
بس هو بيفتح من على الرن تايم بتاع form builder
يا ريت الرد السريع بعد اذن الساده فريق الإشراف

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.