sap abap Import from excell to internal table that works 100%

*&---------------------------------------------------------------------*
*& Report ZTOEXCELL
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztoexcell.

DATAit_files TYPE filetable.
DATA:  lv_rc TYPE i.
DATAlv_action TYPE i.


TYPESbegin of ty_data,
  A type string,
  B type string,
  type string,
  D type string,
    E type string,
    F type string,
   G type string,
    H type string,
    type string,
     K type string,
    L type string,
    type string,
   N type string,
  type string,
    P type string,
  end of ty_data.

*tabletype
  TYPESty_it_itab type STANDARD TABLE OF ty_data WITH DEFAULT KEY.

*internal table
  datait_itab type ty_it_itab.




*file open dialog
cl_gui_frontend_services=>file_open_dialogEXPORTING
file_filter |xlsx (*.xlsx)\|*.xlsx\| { cl_gui_frontend_services=>filetype_all } |
CHANGING
  file_table it_files
  rc lv_rc
  user_action lv_action ).

IF lv_action cl_gui_frontend_services=>action_ok.
  IF linesit_files 0.
* read file und gui upload
    DATAlv_filesize TYPE w3param-cont_len,
          lv_filetype TYPE w3param-cont_type,
          it_bin_data TYPE w3mimetabtype.
    cl_gui_frontend_services=>gui_uploadEXPORTING
        filename |{ it_files[ ]-filename   }|
        filetype 'BIN'
        IMPORTING
            filelength lv_filesize
          CHANGING
            data_tab it_bin_data ).
*solix - > xstring
    data(lv_bin_datacl_bcs_convert=>solix_to_xstringit_solix it_bin_data ).
*create spreadsheet ref object
    data(o_excelNew cl_fdt_xl_spreadsheetdocument_name CONV #it_files[ ]-filename )
                  xdocument lv_bin_data ).
*get first worksheet name
    DATAit_worksheet_names TYPE if_fdt_doc_spreadsheet=>t_worksheet_names.
    o_excel->if_fdt_doc_spreadsheet~get_worksheet_namesIMPORTING worksheet_names it_worksheet_names ).
    if linesit_worksheet_names 0.
*first worksheet ref to itab
      DATA(o_worksheet_itabo_excel->if_fdt_doc_spreadsheet~get_itab_from_worksheetit_worksheet_names[ ).
* ref to generic field symbol (excel data)
      ASSIGN o_worksheet_itab->to FIELD-SYMBOL(<worksheet>).

*move to table
      MOVE-CORRESPONDING <worksheet> to  it_itab.
      WRITElinesit_itab ).


** output data GUI
      cl_demo_output=>write_data<worksheet> ).
      DATA(lv_htmlcl_demo_output=>get).
      cl_abap_browser=>show_htmlEXPORTING
        title 'Excell worksheet'
        html_string lv_html
        container cl_gui_container=>default_screen ).

      WRITESpace.



    endif.
  ENDIF.
ENDIF.

Comments

Popular posts from this blog

sap abap import from excell to table (transparent table)