si pudieras pasar esos datos de excel a un archivo .txt es muy facil solo que en este achivo deben quedar alineadas todas las columnas . Esto es una funcion de forms que se llama text_io. Ej:
PROCEDURE Carga_ txt IS
in_file text_io.file_type;
linebuf varchar2(20000);
v_num_id varchar2(20);
BEGIN
in_file := text_io.fopen('C:\nombrerchivo.txt','r');
loop
text_io.get_line(in_file, linebuf);
text_io.put(linebuf);
text_io.new_line;
v_num_id :=ltrim(rtrim(substr(linebuf,1,15)));
/*lee la primera linea del archivo empezando en la posicion 1 hasta la posicion 15, y asi vas poniento en variables.*/
Insert into tabla(campo) values( v_num_id );
end loop;
commit;
text_io.fclose(in_file);
end;