Skip to Content
author's profile photo Former Member
Former Member

excel sheet download

Hi friends

I have a specific requirement where I need to download the data from the internal table into the excel sheet.

The data from SAP falls in the begining of the excel sheet and then header(text with description of the fields) and then the internal table data comes.

can anyone let me know how to do this download.

Thanks in advance.

Add comment
10|10000 characters needed characters exceeded

4 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 11:54 AM

    try like this

    call function 'EXCEL_OLE_STANDARD_DAT'
         exporting
              file_name                 = 'c:Total_Plant Waste.xls'
        tables
    *         PIVOT_FIELD_TAB           =
             data_tab                  = t_excel1
             fieldnames                = flditab
         exceptions
              file_not_exist            = 1
              filename_expected         = 2
              communication_error       = 3
              ole_object_method_error   = 4
              ole_object_property_error = 5
              invalid_filename          = 6
              invalid_pivot_fields      = 7
              download_problem          = 8
              others                    = 9.
        clear: t_excel1,flditab.
        refresh: t_excel1,flditab.

    Regards

    prabhu

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 12:03 PM

    check the below program

    REPORT ZSRIM_GUI_DOWNLOAD_TO_EXCEL.

    DATA : ITAB TYPE MARA OCCURS 0 WITH HEADER LINE.

    SELECT * INTO ITAB

    FROM MARA

    UP TO 10 ROWS.

    APPEND ITAB.

    ENDSELECT.

    DATA : BEGIN OF ITAB1 OCCURS 0,

    LINE(50) TYPE C,

    END OF ITAB1.

    ITAB1-LINE = 'field1 description'.

    APPEND ITAB1.

    ITAB1-LINE = 'field2 desc'.

    APPEND ITAB1.

    ITAB1-LINE = 'field3 desc'.

    APPEND ITAB1.

    *--and so on you have to add up the records in itab1.

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    FILENAME = 'c:\abc.xls'

    FILETYPE = 'ASC'

    WRITE_FIELD_SEPARATOR = 'X'

    • IMPORTING

    • FILELENGTH =

    TABLES

    DATA_TAB = ITAB

    FIELDNAMES = ITAB1

    EXCEPTIONS

    FILE_WRITE_ERROR = 1

    NO_BATCH = 2

    GUI_REFUSE_FILETRANSFER = 3

    INVALID_TYPE = 4

    NO_AUTHORITY = 5

    UNKNOWN_ERROR = 6

    HEADER_NOT_ALLOWED = 7

    SEPARATOR_NOT_ALLOWED = 8

    FILESIZE_NOT_ALLOWED = 9

    HEADER_TOO_LONG = 10

    DP_ERROR_CREATE = 11

    DP_ERROR_SEND = 12

    DP_ERROR_WRITE = 13

    UNKNOWN_DP_ERROR = 14

    ACCESS_DENIED = 15

    DP_OUT_OF_MEMORY = 16

    DISK_FULL = 17

    DP_TIMEOUT = 18

    FILE_NOT_FOUND = 19

    DATAPROVIDER_EXCEPTION = 20

    CONTROL_FLUSH_ERROR = 21

    OTHERS = 22

    .

    IF SY-SUBRC <> 0.

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

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

    ENDIF.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 12:21 PM

    Prepare one internal table IT_HEADER by taking one field to store the Fieldname(append all to the internal table).

    Use GUI_DOWNLOAD and pass the header(above internal table IT_HEADER).

    Now, Again call GUI_DOWNLOAD to pass the contents internal table and make APPEND parameter as 'X'.

    Thanks

    Eswar

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 12:30 PM

    Hi,

    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 'Raj',

    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 = 'Raj'.

    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.

    Thanks,

    Pramod

    Add comment
    10|10000 characters needed characters exceeded