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

oracle to excel

Featured Replies

بتاريخ:

السلام عليكم
هذا السكريبت لانشاء ملف اكسل من قاعدة بيانات اوراكل
لدي مشكلة في اللغة العربية بحيث انه يتم تحويل الاسماء او الكلمات العربية الى الى لغة غير مفهومة
الرجاء منكم المساعدة في ذلك
وشكرا

====================================================
DECLARE



ENO NUMBER(30);
NAMEA varchar2(80);
CURSOR c_cur IS
SELECT EMPNO,ENAME FROM EMP ;
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;
font 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');

OPEN c_cur;
c1:=1;
LOOP


c2:=1;


fetch c_cur into ENO,nameA;
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', ENO);
ole2.set_property (cell, 'ColumnWidth', '40');
font := ole2.GET_OBJ_PROPERTY (cell, 'Font');
ole2.set_property (font, 'Size', '16');
ole2.set_property (font, 'Bold', True);
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', NAMEA);
ole2.set_property (cell, 'ColumnWidth', '40');
ole2.set_property (cell, 'FontStyle', 'ANDALUS');
font := ole2.GET_OBJ_PROPERTY (cell, 'Font');

ole2.set_property (font, 'Size', '28');
ole2.set_property (font, 'Bold', True);

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:\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;

تم تعديل بواسطة qnoc_raed

بتاريخ:

الاخ الكريم
اليك هذا المثال لعملية الحساب في ملف execl من خلال pl/sql

DECLARE
ConvID	PLS_INTEGER;
BEGIN
 /* Open a DDE conversation with MS Excel on 
    topic abc.xls */
 ConvID := DDE.INITIATE('EXCEL', 'abc.xls');
 /* Recalculate the Excel spreadsheet */
 DDE.EXECUTE(ConvID, '[calculate.now()]', 1000);
END;

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

الاخ ADMIN05
ما اريده هو تعديل على الكود الذي ارسلته ليظهر الاسماء العربية بخط عربي
لو جربت هذا الكود الذ ارسلته انا لفتح لك برنامج الاكسل ونقل البيامات مباشرة من الاوراكل الى الاكسل

الكود الذي ارسالته انت لم استطع تشغيله يعطيني هذا الخطا

TRIGGER RAISED UNHANDELED EXCEPTION ORA-106556

بتاريخ:

ما بعرف اذا فهمتك مزبوط ولا لأ بس اذا كانت مشكلة اللغة العربية على مستوى DB فاحيانا تكون في ال NLS_LANG التي تستخدمها واحيانا تكون بسبب خصائص الويندوز نفسه.
على العموم تأكد من خصائص الويندوز اولا من خلال ال regional options في controll panel واعتقد بالتحديد general حيث يجب ان تكون اللغة المختارة هي اللغة العربية (setting for current user).....

ارجو الافادة....

صديقكم الجديد لؤي

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

شكرا لمرورك الاخ لؤي
لكن اللغة في الويندوز صحيحة وهي العربية
وانا استخدم
maerican
في ال
NLS_LNAG
وما عندي فيها اي مشكلة بالنسبة للغة العربية في التطبيقات الاخرى
ارجو منك تجرب الكود وتشوف النتائج وتخبرني اذا سمحت

بتاريخ:

السلام عليكم ورحمة الله وبركاته
الاخ الكريم هو فعلا يوجد مشكلة في التحويل وخصوصا العربي
ولكن تبين لي بعد البحث ان المشكلة في office نفسها فنسخة office2003 or officeXp يوجد فيها مشاكل هذه احدى احتمال سبب حدوث المشكلة الاحتمال الاخر هو عدم في المتغير text_io على كل حال وجدت هذا الكود على office2000 وهو يعمل بشكل صحيح جربه وخبرنا بالنتائج
واسف على التأخير
طبعا يجب ان تكون الاوفيس 2000 عندك مفتوحة واظن ان الكود يعمل على اوفيس 2003 و xp بس لازم الاكسل يكون مفتوح والصفحة فاضية

PROCEDURE to_excel IS
application ole2.obj_type;
workbooks ole2.obj_type;
workbook ole2.obj_type;
worksheets ole2.obj_type;
worksheet ole2.obj_type;
cell ole2.obj_type;
args ole2.list_type;

cursor Vcursor .....etc.

BEGIN
application := ole2.create_obj('Excel.Application');
ole2.set_property(application, 'Visible', 'False');
workbooks := ole2.get_obj_property(application, 'Workbooks');
workbook := ole2.get_obj_property(workbooks, 'Add');
worksheets := ole2.get_obj_property(workbook, 'Worksheets');
worksheet := ole2.get_obj_property(worksheets, 'Add');

row := 1;
col := 1;

for i in Vcursor -- Open Cursor, that returns "value" value
loop
args := ole2.create_arglist;

ole2.add_arg(args, row);
ole2.add_arg(args, col);

cell := ole2.get_obj_property(worksheet, 'Cells', args);

ole2.destroy_arglist(args);

ole2.set_property(cell, 'Value', i.value);

row := row+1;
col := col+1;
end loop; -- Close cursor

args := ole2.create_arglist;
ole2.add_arg(args, 'c:tmpEXAMPLE.XLS');
ole2.invoke(workbook, 'SaveAs', args);
ole2.destroy_arglist(args);
ole2.invoke(application, 'Quit');
ole2.release_obj(cell);
ole2.release_obj(worksheet);
ole2.release_obj(worksheets);
ole2.release_obj(workbook);
ole2.release_obj(workbooks);
ole2.release_obj(application);
END; 

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

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

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

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

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

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.