SAP Tutorials Blog


 


TYPES: BEGIN OF xls_line,

           data(256) TYPE x,

         END OF xls_line.


  DATA : lt_bin_data TYPE STANDARD TABLE OF xls_line,

         lv_file     TYPE string VALUE 'C:\Demo\Test.xlsx'.


  cl_gui_frontend_services=>gui_upload(

    EXPORTING

      filename = lv_file

      filetype = 'BIN'

    IMPORTING

      filelength = DATA(lv_file_length)

      header   = DATA(lv_xstring_header)

    CHANGING

      data_tab = lt_bin_data

    EXCEPTIONS

      OTHERS = 99 ).


  "CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'

  CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'

    EXPORTING

      input_length = lv_file_length

    IMPORTING

      buffer       = lv_xstring_header

    TABLES

      binary_tab   = lt_bin_data

    EXCEPTIONS

      failed       = 1

      OTHERS       = 2.

  IF sy-subrc = 0.


    TRY.

        DATA(lo_excel) = NEW cl_fdt_xl_spreadsheet(

                       document_name = iv_file

                       xdocument     = lv_xstring_header ) .


        lo_excel->if_fdt_doc_spreadsheet~get_worksheet_names(

          IMPORTING

            worksheet_names = DATA(lt_worksheets) ).


        DATA(lv_woksheetname) = lt_worksheets[ 1 ].  "Read first sheet

        DATA(lo_data_ref) = lo_excel->if_fdt_doc_spreadsheet~get_itab_from_worksheet(

                                         lv_woksheetname ).


        ASSIGN lo_data_ref->* TO FIELD-SYMBOL(<lfs_data_tab>).

        cl_demo_output=>display( <lfs_data_tab> ).


      CATCH cx_fdt_excel_core.

       "Error handling

    ENDTRY.


  ENDIF.


Serkan AKKAVAK

Computer Engineer BSc

Head of SAP & Software Department

Contact : serkurumsal@yandex.com