Skip to Content
avatar image
Former Member

Download to excel

Hi,

I displayed the data based on selection screen into table control.....now how to download the displayed data into local excel file?

Giv steps

Regards

BAlu

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

8 Answers

  • avatar image
    Former Member
    Aug 22, 2007 at 01:39 PM

    use function module WS_EXCEL which will download all your internal table data into Excel file...

    Reward points please

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 22, 2007 at 01:41 PM

    hi,

    Before displaying the data in to the table control you will have the entire data in an internal table, use the GUI_DOWNLOAD function module to download the data

    Regards

    Sudheer

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 22, 2007 at 01:42 PM

    Often we face situations where we need to download internal table contents onto an Excel sheet. We are familiar with the function module WS_DOWNLOAD. Though this function module downloads the contents onto the Excel sheet, there cannot be any column headings or we cannot differentiate the primary keys just by seeing the Excel sheet.

    For this purpose, we can use the function module XXL_FULL_API. The Excel sheet which is generated by this function module contains the column headings and the key columns are highlighted with a different color. Other options that are available with this function module are we can swap two columns or supress a field from displaying on the Excel sheet. The simple code for the usage of this function module is given below.

    Program code :

    -


    REPORT Excel.

    TABLES:

    sflight.

    • header data................................

    DATA :

    header1 LIKE gxxlt_p-text VALUE 'Suresh',

    header2 LIKE gxxlt_p-text VALUE 'Excel sheet'.

    • Internal table for holding the SFLIGHT data

    DATA BEGIN OF t_sflight OCCURS 0.

    INCLUDE STRUCTURE sflight.

    DATA END OF t_sflight.

    • Internal table for holding the horizontal key.

    DATA BEGIN OF t_hkey OCCURS 0.

    INCLUDE STRUCTURE gxxlt_h.

    DATA END OF t_hkey .

    • Internal table for holding the vertical key.

    DATA BEGIN OF t_vkey OCCURS 0.

    INCLUDE STRUCTURE gxxlt_v.

    DATA END OF t_vkey .

    • Internal table for holding the online text....

    DATA BEGIN OF t_online OCCURS 0.

    INCLUDE STRUCTURE gxxlt_o.

    DATA END OF t_online.

    • Internal table to hold print text.............

    DATA BEGIN OF t_print OCCURS 0.

    INCLUDE STRUCTURE gxxlt_p.

    DATA END OF t_print.

    • Internal table to hold SEMA data..............

    DATA BEGIN OF t_sema OCCURS 0.

    INCLUDE STRUCTURE gxxlt_s.

    DATA END OF t_sema.

    • Retreiving data from sflight.

    SELECT * FROM sflight

    INTO TABLE t_sflight.

    • Text which will be displayed online is declared here....

    t_online-line_no = '1'.

    t_online-info_name = 'Created by'.

    t_online-info_value = 'SURESH KUMAR PARVATHANENI'.

    APPEND t_online.

    • Text which will be printed out..........................

    t_print-hf = 'H'.

    t_print-lcr = 'L'.

    t_print-line_no = '1'.

    t_print-text = 'This is the header'.

    APPEND t_print.

    t_print-hf = 'F'.

    t_print-lcr = 'C'.

    t_print-line_no = '1'.

    t_print-text = 'This is the footer'.

    APPEND t_print.

    • Defining the vertical key columns.......

    t_vkey-col_no = '1'.

    t_vkey-col_name = 'MANDT'.

    APPEND t_vkey.

    t_vkey-col_no = '2'.

    t_vkey-col_name = 'CARRID'.

    APPEND t_vkey.

    t_vkey-col_no = '3'.

    t_vkey-col_name = 'CONNID'.

    APPEND t_vkey.

    t_vkey-col_no = '4'.

    t_vkey-col_name = 'FLDATE'.

    APPEND t_vkey.

    • Header text for the data columns................

    t_hkey-row_no = '1'.

    t_hkey-col_no = 1.

    t_hkey-col_name = 'PRICE'.

    APPEND t_hkey.

    t_hkey-col_no = 2.

    t_hkey-col_name = 'CURRENCY'.

    APPEND t_hkey.

    t_hkey-col_no = 3.

    t_hkey-col_name = 'PLANETYPE'.

    APPEND t_hkey.

    t_hkey-col_no = 4.

    t_hkey-col_name = 'SEATSMAX'.

    APPEND t_hkey.

    t_hkey-col_no = 5.

    t_hkey-col_name = 'SEATSOCC'.

    APPEND t_hkey.

    t_hkey-col_no = 6.

    t_hkey-col_name = 'PAYMENTSUM'.

    APPEND t_hkey.

    • populating the SEMA data..........................

    t_sema-col_no = 1.

    t_sema-col_typ = 'STR'.

    t_sema-col_ops = 'DFT'.

    APPEND t_sema.

    t_sema-col_no = 2.

    APPEND t_sema.

    t_sema-col_no = 3.

    APPEND t_sema.

    t_sema-col_no = 4.

    APPEND t_sema.

    t_sema-col_no = 5.

    APPEND t_sema.

    t_sema-col_no = 6.

    APPEND t_sema.

    t_sema-col_no = 7.

    APPEND t_sema.

    t_sema-col_no = 8.

    APPEND t_sema.

    t_sema-col_no = 9.

    APPEND t_sema.

    t_sema-col_no = 10.

    t_sema-col_typ = 'NUM'.

    t_sema-col_ops = 'ADD'.

    APPEND t_sema.

    CALL FUNCTION 'XXL_FULL_API'

    EXPORTING

    • DATA_ENDING_AT = 54

    • DATA_STARTING_AT = 5

    filename = 'TESTFILE'

    header_1 = header1

    header_2 = header2

    no_dialog = 'X'

    no_start = ' '

    n_att_cols = 6

    n_hrz_keys = 1

    n_vrt_keys = 4

    sema_type = 'X'

    • SO_TITLE = ' '

    TABLES

    data = t_sflight

    hkey = t_hkey

    online_text = t_online

    print_text = t_print

    sema = t_sema

    vkey = t_vkey

    EXCEPTIONS

    cancelled_by_user = 1

    data_too_big = 2

    dim_mismatch_data = 3

    dim_mismatch_sema = 4

    dim_mismatch_vkey = 5

    error_in_hkey = 6

    error_in_sema = 7

    file_open_error = 8

    file_write_error = 9

    inv_data_range = 10

    inv_winsys = 11

    inv_xxl = 12

    OTHERS = 13

    .

    IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    ENDIF.

    regards,

    srinivas

    <b>*reward for useful answers*</b>

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 22, 2007 at 01:42 PM

    Hi,

    Download the internal table using GUI_DOWNLOAD to local disc. Provide the file extension as .xls.

    Ashvender

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 22, 2007 at 01:44 PM

    Hi,

    U Can add one push button on ur screen say like Download, and then u can use either WS_DOWNLOAD or GUI_DOWNLOAD function module to download the data into an Excel.

    In case of WS_DOWNLOAD, use file type as 'DAT'.

    -SatyaPriya

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 22, 2007 at 01:49 PM

    Hi,

    Function module 'WS_DOWNLOAD' is uesed to downlaod into excel format.

    find the below example for your reference.

    *Download in presentation server

    tables ZDEPARTMENT_INF1.

    data : a1 like ZDEPARTMENT_INF1 occurs 10 with header line.

    select * from ZDEPARTMENT_INF1 into table a1.

    CALL FUNCTION 'WS_DOWNLOAD'

    EXPORTING

    • BIN_FILESIZE = ' '

    • CODEPAGE = ' '

    FILENAME = 'D:\YHDEPT1.xls'

    FILETYPE = 'DAT'

    • MODE = ' '

    • WK1_N_FORMAT = ' '

    • WK1_N_SIZE = ' '

    • WK1_T_FORMAT = ' '

    • WK1_T_SIZE = ' '

    • COL_SELECT = ' '

    • COL_SELECTMASK = ' '

    • NO_AUTH_CHECK = ' '

    • IMPORTING

    • FILELENGTH =

    TABLES

    data_tab = a1

    • FIELDNAMES =

    • EXCEPTIONS

    • FILE_OPEN_ERROR = 1

    • FILE_WRITE_ERROR = 2

    • INVALID_FILESIZE = 3

    • INVALID_TYPE = 4

    • NO_BATCH = 5

    • UNKNOWN_ERROR = 6

    • INVALID_TABLE_WIDTH = 7

    • GUI_REFUSE_FILETRANSFER = 8

    • CUSTOMER_ERROR = 9

    • OTHERS = 10

    .

    IF sy-subrc <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

    Reward points!!

    Thanks & Regards,

    Vasudeva Rao

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 25, 2011 at 10:17 AM

    hi,

    i have single internal table and i have used select query to fetch fields from table to internal table . What should be the next step before appending work area to internal table.

    regards,

    rashmi

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 25, 2011 at 11:42 AM

    Hello Balu,

    Write BREAK-POINT. in yr present code. and execute in testing you will found yr program is going in ABAP debugger after putting the Tcode than to Debugger in Menu --> Classic debugger. than put the Field names in below for which you wants to make search that waht value is coming after Pressing the Button F5 to execute the code line by line and similarly F8 to execute the code screen by screen to find out the value that is comming.

    Same as for your internal table. Put the name of yr internal table and it will disply aal the records which it has. Now on upper side the icon is present(save as local file). when you put the cursor on that. It will as to to save location. Now pls specify the location to save it. now externally you can easily find out the data as well as the firld name that are present in the internal table. I hope this would enogh to solve yr query.

    Regards,

    Akg

    Add comment
    10|10000 characters needed characters exceeded