بتاريخ: 3 نوفمبر 20178 سنة comment_291319 عند التحويل البيانات من الدفلوبر فورم الى الاكسيل تظهر البيانات التي باللغة العربية حسب الكتابه ادناه ممكن الحل علما اني استخدم هذه الطريقه ادناه äæßíÇ 108 ãÌÏÏ **----------------------------------------------------------------**PROCEDURE EXCEL_REP1 IS CURSOR C1 IS SELECT MA_PARNO,MA_NAME FROM MAT ; row_num NUMBER:=2; args OLE2.LIST_TYPE; app OLE2.OBJ_TYPE; cell OLE2.OBJ_TYPE; ws OLE2.OBJ_TYPE; wb OLE2.OBJ_TYPE; wss OLE2.OBJ_TYPE; wbs OLE2.OBJ_TYPE; TYPE Header_Text IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER; hdr Header_Text; BEGIN --- Initialise Excel app := OLE2.CREATE_OBJ('Excel.Application'); OLE2.SET_PROPERTY(app, 'Visible','True'); wbs := OLE2.GET_OBJ_PROPERTY(app,'Workbooks'); wb := OLE2.INVOKE_OBJ(wbs,'Add'); ws := OLE2.GET_OBJ_PROPERTY(app ,'ActiveSheet'); hdr(1) := '--'; FOR I IN 2..7 LOOP args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args,row_num); --- Row Number OLE2.ADD_ARG(args,I); --- Column Number cell := OLE2.GET_OBJ_PROPERTY(ws,'Cells', args); OLE2.DESTROY_ARGLIST(args); OLE2.SET_PROPERTY(cell,'Value',hdr(I-1)); OLE2.SET_PROPERTY(cell,'Font','Font_SIZE = 20'); OLE2.RELEASE_OBJ(cell); END LOOP; ---------------------------------- --- Data FOR J IN C1 LOOP row_num := row_num +1; FOR I IN 2..7 LOOP args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, row_num); --- Row OLE2.ADD_ARG(args, I); --- Column cell := OLE2.GET_OBJ_PROPERTY(ws,'Cells', args); OLE2.DESTROY_ARGLIST(args); IF I = 2 THEN OLE2.SET_PROPERTY(cell,'Value',row_num-2); ELSIF I = 3 THEN OLE2.SET_PROPERTY(cell,'Value',j.MA_PARNO); ELSIF I = 4 THEN OLE2.SET_PROPERTY(cell,'Value',J.MA_NAME); /* ELSIF I = 5 THEN OLE2.SET_PROPERTY(cell,'Value',J.JOB); ELSIF I = 6 THEN OLE2.SET_PROPERTY(cell,'Value',NVL(J.SAL,0)); NULL; ELSIF I = 7 THEN NULL;*/ END IF; END LOOP; END LOOP; ---------------------------------- BREAK; args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, 'C:\Meehemp_'||TO_CHAR(SYSDATE,'YYYYMMDD_HH24MISS')||'.xls'); OLE2.INVOKE(wb, 'SaveAs', args); OLE2.DESTROY_ARGLIST(args); OLE2.INVOKE(wb,'CLOSE'); OLE2.INVOKE(app,'Quit'); OLE2.RELEASE_OBJ(wbs); OLE2.RELEASE_OBJ(ws); OLE2.RELEASE_OBJ(wbs); OLE2.RELEASE_OBJ(wb); OLE2.RELEASE_OBJ(app); END; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.