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: 

Downloadin data frm internal table in differnt worksheet of excel sheet

Former Member
0 Kudos

Hello friends,

i hv a query..

i fetch the data from table and then i put into an internal table. I want to download all this data into an excel file. But there is a catch -i want to create different worksheet in an excel sheet related to different customer ID.so plz help me how to download this data into excel file while creating different worksheet for in respect of customer id??? plzz reply me ASAP...

Thanks in advance

5 REPLIES 5

Former Member
0 Kudos

Hi Vinay,

Refer sample code:

  • Multiple excel sheets generation in a workbook

CREATE OBJECT EXCEL 'EXCEL.SHEET'.

GET PROPERTY OF EXCEL 'Application' = APPLICATION.

SET PROPERTY OF APPLICATION 'Visible' = 1.

CALL METHOD OF APPLICATION 'Workbooks' = BOOKS.

CALL METHOD OF BOOKS 'Add' = BOOK.

CALL METHOD OF BOOK 'WORKSHEETS' = SHEET.

CALL METHOD OF SHEET 'ADD'.

  • Fill all the sheets with relavant data

PERFORM SHEET1 TABLES ITAB1.

PERFORM SHEET2 TABLES ITAB2.

PERFORM SHEET3 TABLES ITAB3.

PERFORM SHEET4 TABLES ITAB4.

  • Quit the excel after use

CALL METHOD OF EXCEL 'QUIT'.

FREE OBJECT: COLUMN,SHEET,BOOK,BOOKS,APPLICATION,EXCEL. "NO FLUSH.

CLEAR V_SHEET.

FORM FILL_CELL USING ROW COL VAL.

CALL METHOD OF SHEET 'cells' = CELL NO FLUSH

EXPORTING #1 = ROW #2 = COL.

SET PROPERTY OF CELL 'value' = VAL.

FREE OBJECT CELL NO FLUSH.

ENDFORM. " FILL_CELL

FORM SHEET1 TABLES ITAB1 STRUCTURE ITAB1.

V_SHEET = Sheet Name.

V_NO = V_NO + 1.

CALL METHOD OF BOOK 'worksheets' = SHEET NO FLUSH EXPORTING #1 = V_NO.

SET PROPERTY OF SHEET 'Name' = V_SHEET NO FLUSH.

PERFORM FILL_SHEET1 TABLES ITAB1 USING V_NO V_SHEET.

CALL METHOD OF SHEET 'Columns' = COLUMN.

FREE OBJECT SHEET.

CALL METHOD OF COLUMN 'Autofit'.

FREE OBJECT COLUMN.

ENDFORM.

Repeat above procedure for all sheets you want to add

FORM FILL_SHEET1

TABLES ITAB1 STRUCTURE ITAB1

USING V_NO V_SHEET.

ROW = 1.

PERFORM FILL_CELL USING ROW 1 'Column1 Name'.

PERFORM FILL_CELL USING ROW 2 'Column2 Name'.

PERFORM FILL_CELL USING ROW 3 'Column3 Name'.

ROW = ROW + 1.

LOOP AT ITAB1.

PERFORM FILL_CELL USING ROW 1 ITAB1-Column1.

PERFORM FILL_CELL USING ROW 2 ITAB1-Column2.

PERFORM FILL_CELL USING ROW 3 ITAB1-Column3.

ROW = ROW + 1.

ENDLOOP.

ENDFORM.

Repeat above procedure for all sheets you want to add

Reward points if this helps.

Manish

Former Member
0 Kudos

Thanks All!!

0 Kudos

Vinay,

Can you send me the code..if you have successfully implemented this

Thanks,

veduru@gmail.com

Former Member
0 Kudos

hi friends can any one help me ? i want to push the data frm 4 internal tables like MARA, MARC,MARD, MAKT into one final internal table IT_FINAL and display the final out put using for all entries.. i hve done some thing but nt able to comeplete it as ia m new o ABAP .. KINDLY HELP ME TO WRITE THE CODE PLZ

TYPES : BEGIN OF TY_MARA, MATNR TYPE MARA-MATNR, MTARD TYPE MARA- MTARD,MEINS TYPE MARA-MEINS,

END OF TY_MARA.

DATA : IT_MARA TYPE TABLE OF TY_MARA, WA_MARA TYPE TY_MARA.

TYPES : BEGIN OF TY_MARC, MATNR TYPE MARC-MATNR, WERKS TYPE MARC-WERKS,PSTAT TYPE MARC-PSTAT,END OF TY_MARC.

DATA : IT_MARC TYPE TABLE OF TY_MARC, WA_MARC TYPE TY_MARC.

DATA : v_matnr type mara-matnr.

-


-


IN THE SAME WAY ALL DECLARATIONS. FOR MARD AND MAKT AND FINAL TABLE WITH ALL THE FIELDS.

SELECT-OPTIONS : S_MATNR FOR V_MATNR.

SELECT matnr mtart meins frm MARA INTO TABLE IT_MARA WHERE MATNR IN S_MATNR.

IF NOT IT_MARA IS INITIAL.

SELECT MATNR WERKS PSTAT FROM MARC INTO TABLE IT_MARC FOR ALL ENTRIES IN IT_MARA WHERE MATNR = IT_MARA-MATNR.

SELECT MATNR MAKTX MAKTG FROM MAKT INTO TABLE IT_MAKT FOR ALL ENTRIES IN IT_MARA WHER MATNR = IT_MARA-MATNR.

IF NOT IT_MARC IS INITIAL.

SELECT WERKS LGORT LABST FROM MARD INTO TABLE IT_MARD WHERE WERKS = IT_MARC-WERKS

ENDIF.

ENDIF.

UP TO THIS I DID . HOW CAN I PUSH TO FINAL INTERNAL TABLE IT_FINAL AND DISPLAY IT ..

HELP ME FRIENDS PLZ