Ver Mensaje Individual
  #3  
Viejo 31/01/08, 09:39:09
jflinaj jflinaj is offline
Junior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 16
hola si lo que necesitas es leer una hoja Excel en tu programa, yo te pongo una forma para leer datos de una Excel y almacenarla en una tabla interna, no se si es lo que buscas pero yo te lo pongo :

DATA: i_excel TYPE alsmex_tabline OCCURS 0 WITH HEADER LINE. -> en esta tabla se cargaran los datos de la tabla excel.

DATA: BEGIN OF i_interna OCCURS 0, -> almacenaremos los datos de la i_excel
clave TYPE char3,
compania TYPE char3,
idvuelo TYPE char3,
precio TYPE char3,
ciu_sal TYPE char3,
ciu_lleg TYPE char3.
DATA: END OF i_interna.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_fich
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '6' -> numero de columnas de la hoja excel
i_end_row = '3' -> numero de filas de la hoja excel
TABLES
intern = i_excel . -> la tabla interna para la excel.
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
EXIT.
ENDIF.

IF i_excel[] IS INITIAL.
EXIT.
ENDIF.

con esta funcion rellenamos la tabla i_excel que recoge los datos de la escel.

LOOP AT i_excel. -> cargaremos los datos de la hoja excel a nuestra tabla iterna.

IF i_excel-col EQ 1. -> uno por cada columna
MOVE i_excel-value TO i_interna-clave. -> insertamos el valor de la cabecera de la i_excel en la cabecera de la tabla i_interna.
ENDIF.
copiaremos esto tantas veces como columnas tenga la Excel
….
AT END OF row.
APPEND i_interna. -> insertamos lo que hay en la cabecera en la i_interna.
ENDAT.
ENDLOOP.

si no era esto lo que buscabas seguro que te puede servir en otra situacion , y si era esto y tienes algun problema no dudes en comentarmelo
un saludo y espero haberte ayudado
Responder Con Cita