Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

excel sheet download

Former Member
0 Kudos

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.

4 REPLIES 4

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

Former Member
0 Kudos

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