10-22-2008 5:54 AM
can anyone let me know how to download list data into excel file? is there a relevent function module?
10-22-2008 5:56 AM
In the output screen goto
LIST-->SAVE/SEND-->FILE-->Spreadsheet...
can download to Excel....
Edited by: Sukriti Saha on Oct 22, 2008 10:27 AM
10-22-2008 6:01 AM
10-22-2008 6:06 AM
Hi,
There is one more good example here to Download a report to excel with format (border, color cell, etc) .
REPORT ZSIRI NO STANDARD PAGE HEADING.
this report demonstrates how to send some ABAP data to an
EXCEL sheet using OLE automation.
INCLUDE OLE2INCL.
handles for OLE objects
DATA: H_EXCEL TYPE OLE2_OBJECT, " Excel object
H_MAPL TYPE OLE2_OBJECT, " list of workbooks
H_MAP TYPE OLE2_OBJECT, " workbook
H_ZL TYPE OLE2_OBJECT, " cell
H_F TYPE OLE2_OBJECT. " font
TABLES: SPFLI.
DATA H TYPE I.
table of flights
DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.
&----
*& Event START-OF-SELECTION
&----
START-OF-SELECTION.
read flights
SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS.
display header
ULINE (61).
WRITE: / SY-VLINE NO-GAP,
(3) 'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(4) 'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(8) 'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP.
ULINE /(61).
display flights
LOOP AT IT_SPFLI.
WRITE: / SY-VLINE NO-GAP,
IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP.
ENDLOOP.
ULINE /(61).
tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-007
EXCEPTIONS
OTHERS = 1.
start Excel
CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
PERFORM ERR_HDL.
SET PROPERTY OF H_EXCEL 'Visible' = 1.
CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'
.
PERFORM ERR_HDL.
tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-008
EXCEPTIONS
OTHERS = 1.
get list of workbooks, initially empty
CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
PERFORM ERR_HDL.
add a new workbook
CALL METHOD OF H_MAPL 'Add' = H_MAP.
PERFORM ERR_HDL.
tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-009
EXCEPTIONS
OTHERS = 1.
output column headings to active Excel sheet
PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
PERFORM FILL_CELL USING 1 3 1 'Von'(003).
PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
LOOP AT IT_SPFLI.
copy flights to active EXCEL sheet
H = SY-TABIX + 1.
PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
ENDLOOP.
changes by Kishore - start
CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
CALL METHOD OF H_EXCEL 'Worksheets' = H_MAPL." EXPORTING #1 = 2.
PERFORM ERR_HDL.
add a new workbook
CALL METHOD OF H_MAPL 'Add' = H_MAP EXPORTING #1 = 2.
PERFORM ERR_HDL.
tell user what is going on
SET PROPERTY OF H_MAP 'NAME' = 'COPY'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT-009
EXCEPTIONS
OTHERS = 1.
output column headings to active Excel sheet
PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
PERFORM FILL_CELL USING 1 3 1 'Von'(003).
PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
LOOP AT IT_SPFLI.
copy flights to active EXCEL sheet
H = SY-TABIX + 1.
PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
ENDLOOP.
changes by Kishore - end
disconnect from Excel
CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'C:\SKV.XLS'.
FREE OBJECT H_EXCEL.
PERFORM ERR_HDL.
----
FORM FILL_CELL *
----
sets cell at coordinates i,j to value val boldtype bold *
----
FORM FILL_CELL USING I J BOLD VAL.
CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J.
PERFORM ERR_HDL.
SET PROPERTY OF H_ZL 'Value' = VAL .
PERFORM ERR_HDL.
GET PROPERTY OF H_ZL 'Font' = H_F.
PERFORM ERR_HDL.
SET PROPERTY OF H_F 'Bold' = BOLD .
PERFORM ERR_HDL.
ENDFORM.
&----
*& Form ERR_HDL
&----
outputs OLE error if any *
----
--> p1 text
<-- p2 text
----
FORM ERR_HDL.
IF SY-SUBRC <> 0.
WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC.
STOP.
ENDIF.
ENDFORM. " ERR_HDL
Regards
Mudit
10-22-2008 6:07 AM
10-22-2008 6:08 AM
Hi tabrez sheik ,
If want to download the excel sheet of ALV report then.
GOTO menu bar of displayed report->list-export->local file->spread sheet.
Or else you are working with any other revert back with some more inputs.
Cheers!!
Balu
10-22-2008 6:14 AM
hi
chk this code
REPORT ZOLE_TUTOR_EXAMPLE_MS_EXCEL .
INCLUDE OLE2INCL .
DATA: GS_EXCEL TYPE OLE2_OBJECT ,
GS_WBOOKLIST TYPE OLE2_OBJECT ,
GS_APPLICATION TYPE OLE2_OBJECT ,
GS_WBOOK TYPE OLE2_OBJECT ,
GS_ACTIVESHEET TYPE OLE2_OBJECT ,
GS_SHEETS TYPE OLE2_OBJECT ,
GS_NEWSHEET TYPE OLE2_OBJECT ,
GS_CELL1 TYPE OLE2_OBJECT ,
GS_CELL2 TYPE OLE2_OBJECT ,
GS_CELLS TYPE OLE2_OBJECT ,
GS_RANGE TYPE OLE2_OBJECT ,
GS_FONT TYPE OLE2_OBJECT ,
GS_INTERIOR TYPE OLE2_OBJECT ,
GS_COLUMNS TYPE OLE2_OBJECT ,
GS_CHARTS TYPE OLE2_OBJECT ,
GS_CHART TYPE OLE2_OBJECT ,
GS_CHARTTITLE TYPE OLE2_OBJECT ,
GS_CHARTTITLECHAR TYPE OLE2_OBJECT ,
GS_CHARTOBJECTS TYPE OLE2_OBJECT .
DATA : CNTL TYPE I VALUE 0.
DATA GV_SHEET_NAME(20) TYPE C .
DATA GV_OUTER_INDEX LIKE SY-INDEX .
DATA GV_INTEX(2) TYPE C .
DATA GV_LINE_CNTR TYPE I . "line counter
DATA GV_LINNO TYPE I . "line number
DATA GV_COLNO TYPE I . "column number
DATA GV_VALUE TYPE I . "data
DATA : IT_SCARR TYPE STANDARD TABLE OF SCARR.
PARAMETERS: P_SHEETS TYPE I .
*Code Part C.1 Data declarations
*Step 2 -> Initiate the do-loop and OLE automation base objects.
START-OF-SELECTION .
SELECT * FROM SCARR INTO TABLE IT_SCARR.
DO P_SHEETS TIMES .
CNTL = CNTL + 1.
*--Forming sheet name
GV_INTEX = SY-INDEX .
GV_OUTER_INDEX = SY-INDEX .
CONCATENATE 'Excel Sheet #' GV_INTEX INTO GV_SHEET_NAME .
*--For the first loop, Excel is initiated and one new sheet is added
IF SY-INDEX = 1 .
CREATE OBJECT GS_EXCEL 'EXCEL.APPLICATION' .
SET PROPERTY OF GS_EXCEL 'Visible' = 1 .
GET PROPERTY OF GS_EXCEL 'Workbooks' = GS_WBOOKLIST .
GET PROPERTY OF GS_WBOOKLIST 'Application' = GS_APPLICATION .
SET PROPERTY OF GS_APPLICATION 'SheetsInNewWorkbook' = 1 .
CALL METHOD OF GS_WBOOKLIST 'Add' = GS_WBOOK .
GET PROPERTY OF GS_APPLICATION 'ActiveSheet' = GS_ACTIVESHEET .
SET PROPERTY OF GS_ACTIVESHEET 'Name' = GV_SHEET_NAME .
*--For the rest of loops, other sheets are added
ELSE .
GET PROPERTY OF GS_WBOOK 'Sheets' = GS_SHEETS .
CALL METHOD OF GS_SHEETS 'Add' = GS_NEWSHEET .
SET PROPERTY OF GS_NEWSHEET 'Name' = GV_SHEET_NAME .
ENDIF .
GV_LINE_CNTR = 1 . "line counter
*Code Part C.2 Looping and initializing, adding new worksheets
*Step3 -> Write the title and format it.
*--Title
*--Selecting cell area to be merged.
CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1
EXPORTING
#1 = 1
#2 = 1.
CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2
EXPORTING
#1 = 1
#2 = 4.
CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS
EXPORTING
#1 = GS_CELL1
#2 = GS_CELL2.
CALL METHOD OF GS_CELLS 'Select' .
*--Merging
CALL METHOD OF GS_CELLS 'Merge' .
*--Setting title data
CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1
EXPORTING
#1 = GV_LINE_CNTR
#2 = 1.
SET PROPERTY OF GS_CELL1 'Value' = 'TITLE' .
*--Formatting the title
GET PROPERTY OF GS_CELL1 'Font' = GS_FONT .
SET PROPERTY OF GS_FONT 'Underline' = 2 .
SET PROPERTY OF GS_FONT 'Bold' = 1 .
SET PROPERTY OF GS_CELL1 'HorizontalAlignment' = -4108 .
GET PROPERTY OF GS_CELL1 'Interior' = GS_INTERIOR .
SET PROPERTY OF GS_INTERIOR 'ColorIndex' = 15 .
SET PROPERTY OF GS_INTERIOR 'Pattern' = -4124 .
SET PROPERTY OF GS_INTERIOR 'PatternColorIndex' = -4105 .
*Code Part C.3 Writing and formatting the title
*Step 4 -> Write some additional data for the title area and format them.
GV_LINE_CNTR = GV_LINE_CNTR + 1 .
*--Writing some additional data for the title
CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1
EXPORTING
#1 = GV_LINE_CNTR
#2 = 1.
SET PROPERTY OF GS_CELL1 'Value' = 'hello' .
ENDDO.
Check this link also..
hope it helps you..
regards
Satish
10-22-2008 6:23 AM
Hi,
Path to save in excel sheet is
System->List->Save->Local File->Spreadsheet
10-22-2008 6:27 AM
Hi Tabrez,
There are two ways.
1. Use the FM GUI_DOWNLOAD, in that pass your internal table and mention the file path and Pass 'X' to WRITE_FIELD_SEPARATOR.
2. after your list is generated, goto
LIST->SAVE/SEND-->FILE select radio button Spread Sheet and give the download path.
i hope it may help you,
Regards
Kumar M
10-22-2008 6:34 AM