Home » Developer & Programmer » Forms » Load excel sheet into oracle db through (forms 6i ,win 8 )
Load excel sheet into oracle db through [message #621088] Fri, 08 August 2014 13:55
eslam elbyaly
Messages: 16
Registered: February 2011
Location: egypt
Junior Member

i used the code in this link on a button to do the above mission :

http://www.dba-oracle.com/t_load_excel_spreadsheet_into_oracle_table.htm
    DECLARE   
     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.OBJ_TYPE;   
     ctr NUMBER(12);   
     cols NUMBER(2);  
     name_var1 VARCHAR2(2000);   
     name_var2 VARCHAR2(2000);   
     name_var3 VARCHAR2(2000);   
     name_var4 VARCHAR2(2000);   
     filename varchar2(100);  
       
     PROCEDURE OLEARG IS  
     args OLE2.OBJ_TYPE;   
     BEGIN  
     args := OLE2.CREATE_ARGLIST;   
     ole2.add_arg(args,ctr); -- row value  
     ole2.add_arg(args,cols); -- column value  
     cell := ole2.GET_OBJ_PROPERTY(worksheet,'Cells',args); -- initializing cell  
     ole2.destroy_arglist(args);   
     END;  
       
     BEGIN  
     filename :=GET_FILE_NAME('c:\', File_Filter=>'Excel Files (*.xls)|*.xls|'); -- to pick the file  
     application := OLE2.CREATE_OBJ('Excel.Application');   
     ole2.set_property(application,'Visible','true');   
     workbooks := OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');   
     args := OLE2.CREATE_ARGLIST;   
     ole2.add_arg(args,filename); --'c:\13s002.xls'); -- file path and name  
     workbook := ole2.GET_OBJ_PROPERTY(workbooks,'Open',args);   
     ole2.destroy_arglist(args);   
     args := OLE2.CREATE_ARGLIST;   
     ole2.add_arg(args,'Sheet1');   
     worksheet := ole2.GET_OBJ_PROPERTY(workbook,'Worksheets',args);   
     ole2.destroy_arglist(args);   
       
     ctr := 2; --row number  
     cols := 1; -- column number  
       
     FIRST_RECORD;   
       
     LOOP   
     OLEARG;  
     name_var1 := ole2.get_char_property(cell,'Value'); --cell value of the argument  
     cols := cols+1;  
       
     OLEARG;  
     name_var2 := ole2.get_char_property(cell,'Value'); --cell value of the argument  
     cols := cols+1;  
       
     OLEARG;  
     name_var3 := ole2.get_char_property(cell,'Value'); --cell value of the argument  
     cols := cols+1;  
       
     OLEARG;  
     name_var4 := ole2.get_num_property(cell,'Value'); --cell number value of the argument  
       
     IF ctr = 1 then   
     :tf1 := name_var1;   
     :tf2 := name_var2;   
     :tf3 := name_var3;   
     :tf4 := name_var4;   
     ELSE   
     NEXT_RECORD;   
     :tf1 := name_var1;   
     :tf2 := name_var2;   
     :tf3 := name_var3;   
     :tf4 := name_var4;  
     END IF;   
       
     EXIT WHEN length(name_var1) = 0 or length(name_var1) is null;   
     ctr := ctr + 1;   
     cols := 1;  
       
     END LOOP;   
     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;   

i created 4 text-items (:tf1 , :tf2 , :tf3 , :tf4) , but i do not know which parameters should i change??? , give me an example , please .
Previous Topic: Stacked canvas / How to organize horizontal scrolling for DataBlock?
Next Topic: migration of oracle forms 6i to web forms
Goto Forum:
  


Current Time: Fri Apr 26 18:01:43 CDT 2024