Import z MS Excel

Poniższy skrypt przedstawia odczyt danych z pliku Excel do Tabeli wewnętrznej.

*&---------------------------------------------------------------------*
*& Report  ZIMPORT_EXCEL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zimport_excel.

TYPE-POOLS: abap.

DATA: filename TYPE rlgrap-filename,
      itab     TYPE TABLE OF alsmex_tabline WITH HEADER LINE,
      iline    TYPE i,
      im_fname TYPE string,
      exists   TYPE abap_bool.
*      wa       TYPE alsmex_tabline.

PARAMETER: p_fname TYPE ibipparms-path.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
  CALL FUNCTION 'F4_FILENAME'
    IMPORTING
      file_name = p_fname.

AT SELECTION-SCREEN.

  im_fname = p_fname.
  CALL METHOD cl_gui_frontend_services=>file_exist
    EXPORTING
      file   = im_fname
    RECEIVING
      result = exists.

  IF exists = abap_false.
    MESSAGE 'Podany plik nie istnieje...' TYPE 'W'.
  ELSE.
    filename = p_fname.
  ENDIF.


START-OF-SELECTION.
*filename = 'D:\example.xls'.


  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename    = filename
      i_begin_col = 1
      i_begin_row = 1
      i_end_col   = 4
      i_end_row   = 3
    TABLES
      intern      = itab.

  LOOP AT itab.
    iline = itab-col MOD 4.
    WRITE itab-value(12).
    IF iline = 0.
      NEW-LINE.
    ENDIF.
  ENDLOOP.

*LOOP AT itab INTO wa.
*  WRITE wa-value(10).
*ENDLOOP.