الانتقال إلى المحتوى
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.

How To Export Data To Excel Sheet In Oracle Forms

Featured Replies

بتاريخ:

create a procedure





PROCEDURE l_print_excel IS

APPLICATION OLE2.OBJ_TYPE;
WORKBOOKS OLE2.OBJ_TYPE;
WORKBOOK OLE2.OBJ_TYPE;
WORKSHEETS OLE2.OBJ_TYPE;
WORKSHEET OLE2.OBJ_TYPE;
Arglist OLE2.LIST_TYPE;
CELL OLE2.OBJ_TYPE;
r INTEGER;
c INTEGER;
file_name_cl VARCHAR2(32767);
user_cancel EXCEPTION;
Workfont OLE2.OBJ_TYPE;
WorkInterior OLE2.OBJ_TYPE;
Cursor c1 is
Select 'EMP_CODE' COL1,'EMP_NAME' COL2
From dual;
Cursor c2 is
Select emp_code,emp_name
From employee_master;
--Inner Proc.
Procedure put_cell (Row_num number,
Col_num number,
put_value varchar2,
font_name varchar2 default null,
font_size binary_integer default null,
font_style varchar2 default null,/*here you can pass BOLD for bold, ITALIC for italic etc*/
font_color binary_integer default null) is
Begin
Arglist := OLE2.create_arglist;
OLE2.add_arg(Arglist,row_num);
OLE2.add_arg(Arglist,col_num);
cell := OLE2.get_obj_property(Worksheet,'Cells',Arglist);
OLE2.destroy_arglist(Arglist);
OLE2.set_property(cell,'Value',put_value);
Workfont := OLE2.get_obj_property(cell,'Font');
WorkInterior := OLE2.get_obj_property(cell,'Interior');
If font_name is not null then
OLE2.set_property(Workfont,'Name',font_name);
End if;
If font_size is not null then
OLE2.set_property(Workfont,'Size',font_size);
End if;
If font_style is not null then OLE2.set_property(Workfont,font_style,1);
End if;
If font_color is not null then OLE2.set_property(Workfont,'ColorIndex',font_color);
End if;
OLE2.release_obj(workinterior);
OLE2.release_obj(workfont);
OLE2.release_obj(cell); End; BEGIN --Open Excel Application and make it visible
APPLICATION := OLE2.CREATE_OBJ('Excel.Application');
OLE2.SET_PROPERTY(APPLICATION,'Visible',True);
-------------------------------------------------------------------------
--Open a specified file where i want to export data
/* Arglist := OLE2.create_arglist;
OLE2.add_arg(Arglist,'C:\temp\test.xls');
WORKBOOKS := OLE2.GET_OBJ_PROPERTY(APPLICATION, 'WORKBOOKS');
WORKBOOK := OLE2.INVOKE_OBJ(WORKBOOKS, 'Open',Arglist);
OLE2.destroy_arglist(Arglist); */
/*open new file*/
WORKBOOKS := OLE2.GET_OBJ_PROPERTY(APPLICATION, 'WORKBOOKS');
WORKBOOK := OLE2.INVOKE_OBJ(WORKBOOKS, 'Add');
-------------------------------------------------------------------------
---Initilize work sheet Worksheet := OLE2.get_obj_property(Application,'Activesheet');
OLE2.set_property(Worksheet,'Name','MySheetNo.1'); /*Print titles*/
r := 1;
put_Cell (r,1,'EMPLOYEE LIST OF THE COMPANY',font_style=>'BOLD');
r := 2;
For r1 in c1 loop
put_Cell (r,1,r1.col1,font_style=>'BOLD');
put_Cell (r,2,r1.col1,font_style=>'BOLD');
r := r+1;--increment row
END LOOP;
/*Print Data*/
For r2 in c2 loop
put_Cell (r,1,r2.emp_code);
put_Cell (r,2,r2.emp_name);
r := r+1;
end loop;
-- Save the Excel file created
Arglist := OLE2.Create_Arglist;
OLE2.Add_Arg(Arglist,'c:\temp\test.xls');
OLE2.Invoke(workbook, 'Save', Arglist);
OLE2.Destroy_Arglist(Arglist);
-- release workbook
OLE2.Release_Obj(worksheet);
OLE2.Release_Obj(workbook);
OLE2.Release_Obj(workbooks);
OLE2.Release_Obj(application);
End;


الكود مجرب واعمل به حاليا فى مقر عملى


لمزيد من التفاصيل والاستفسارات


arafaa.blogspot.com

تم تعديل بواسطة ahmed.arafa

بتاريخ:

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

الأخ / احمد

شكرا لك حرصك على إفادة الأخوة الأعضاء ...

جزاك الله خيرا

بتاريخ:

جزاك الله خير احمد على هذا المجهود الرائع

بتاريخ:

ممكن نعرف كيف يتم عمل هذا الكود
او مكن شرح بسيط ...
وشكرا


وتقبل مروري..

بتاريخ:
  • كاتب الموضوع

اه طبعا ممكن
فكره الكود عموما لو انت محتاج تتطلع بيانات من على الفورمه الى اكسل شيت
من خلال زر معين يقوم المستخدم بلضغط عليه من على الفورمه
طريقه استعمال الكود
قم باضافه بروسديور فى البروجرم يونت بتاعتك
وبعد كده قم بانشاء زر على الفورمه تنده من خلاله على البروسديور
طريقه عمل الكود
الكود يعتمد على LIBRARY
اسمها OLE2
وهى المسؤله عن عمليه الاكسبورت للاكسل
الكود يعتمد على كرسر معين من خلال الكرسر تقدر تختار البيانات المناسبه اللى انت محتاج تعمل لها اكسبورت
وهتلاقى ان الكود فيه كومنت بيوضحلك
لو مثلا حابب تضيف اسم توضيحى للعمود
لو حابب مثلا تعدل فى لون وشكل الخط
لو حابب تعدل فى اسم الشيت وهكذا

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

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

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

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

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

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.