ABAP - Excel con diferentes hojas

 
Vista:

Excel con diferentes hojas

Publicado por Carlos (1 intervención) el 29/11/2007 13:38:21
Buenas. Tengo que leer un archivo de excel, para lo que estoy usando ALSM_EXCEL_TO_INTERNAL_TABLE, que por ahora me va bien, pero el archivo excel tiene varias hojas, con lo que SAP abre la que esté activa, y si no es la correcta, da error. Se puede seleccionar una hoja u otra de alguna forma??
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Leer hoja Excel

Publicado por Alejandro (226 intervenciones) el 12/04/2023 22:29:56
Sí, puedes seleccionar una hoja específica de un archivo de Excel en ABAP utilizando la función ALSM_EXCEL_TO_INTERNAL_TABLE.

Para hacerlo, debes especificar el nombre de la hoja que deseas leer en la estructura ALSM_EX_TABLINE-VALUE. El nombre de la hoja se debe incluir después del nombre del archivo en la ruta completa del archivo.

Por ejemplo, si tu archivo de Excel se llama "ejemplo.xlsx" y la hoja que deseas leer se llama "Hoja2", debes especificar la ruta completa del archivo como "C:\ruta\ejemplo.xlsx|Hoja2" en la estructura ALSM_EX_TABLINE-VALUE.

Aquí te dejo un ejemplo de código que puedes utilizar como guía:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
DATA: it_excel TYPE STANDARD TABLE OF alsmex_tabline,
      wa_excel LIKE LINE OF it_excel.
 
wa_excel-fieldname = 'FILENAME'.
wa_excel-value = 'C:\ruta\ejemplo.xlsx|Hoja2'.
APPEND wa_excel TO it_excel.
 
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
  EXPORTING
    filename      = 'C:\ruta\ejemplo.xlsx'
  TABLES
    intern        = <tu_tabla_interna>
  OPTIONS
    data_tablename = 'DATA'
    header_tablename = 'HEADER'
    format_tablename = 'FORMAT'
    extend_table_contents = 'X'
    excel_data = it_excel
  EXCEPTIONS
    inconsistent_parameters = 1
    upload_ole             = 2
    others                 = 3.

Espero que esto te sea de ayuda. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar