最近做了一个内表数据导出到excel的开发,在excel模板已经存在的情况下,需要将不同的数据导出到2张工作薄中,关键代码见下:
*模块池:slis
TYPE-POOLS: slis.
TYPE-POOLS: ole2.
*EXECL相关
DATA g_key TYPE wwwdatatab.
DATA: g_excel TYPE ole2_object, "excel
g_sheet TYPE ole2_object, "sheet
g_workbookl TYPE ole2_object, "work book list
g_workbook TYPE ole2_object, "work book
g_range TYPE ole2_object, "rang
g_cell TYPE ole2_object, "cell
g_workbook2 TYPE ole2_object. "work book list
DATA g_line TYPE i VALUE '4'.
DATA g_line1 TYPE i VALUE '4'.
*写EXECL
*第一步:下载模板
g_key-relid = 'MI'.
g_key-objid = 'ZRFI_ZBCX'.
DATA lv_filepath LIKE rlgrap-filename.
DATA filen TYPE string VALUE '查询'.
CONCATENATE 'D:' s_BUKRS-low filen '_' sy-datum '_'
sy-uzeit '.xls' INTO lv_filepath. "把路径与文件名称放到destination中
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = g_key
destination = lv_filepath.
*创建一个Excel进程
CREATE OBJECT g_excel 'EXCEL.APPLICATION'.
SET PROPERTY OF g_excel 'Visible' = 0."0 no flush.
*打开这个Excel的worklist
CALL METHOD OF g_excel 'Workbooks' = g_workbookl.
*打开我们下载的文件
CALL METHOD OF g_workbookl 'Open' = g_workbook
EXPORTING
#1 = lv_filepath.
*打开第一个Sheet
CALL METHOD OF g_workbook 'WORKSHEETS' = g_sheet
EXPORTING
#1 = 'Sheet1'.
call method of g_sheet 'select'.
*写入行项目数据
loop at G_ITB_DEAL into g_wa_deal.
CALL METHOD OF g_excel 'CELLS' = g_cell
EXPORTING
#1 = g_line
#2 = 'A'.
SET PROPERTY OF g_cell 'VALUE' = g_wa_deal-gsdm.
CALL METHOD OF g_excel 'CELLS' = g_cell
EXPORTING
#1 = g_line
#2 = 'P'.
g_wa_deal-JLR2 = 0 - g_wa_deal-JLR2.
SET PROPERTY OF g_cell 'VALUE' = g_wa_deal-JLR2.
g_line = g_line + 1.
ENDLOOP.
*打开第二个Sheet
CALL METHOD OF g_workbook 'WORKSHEETS' = g_sheet
EXPORTING
#1 = 'Sheet2'.
call method of g_sheet 'select'.
*写入行项目数据
loop at G_ITB_DEALa into g_wa_deala.
CALL METHOD OF g_excel 'CELLS' = g_cell
EXPORTING
#1 = g_line1
#2 = 'A'.
SET PROPERTY OF g_cell 'VALUE' = g_wa_deala-kmbm.
CALL METHOD OF g_excel 'CELLS' = g_cell
EXPORTING
#1 = g_line1
#2 = 'aJ'.
SET PROPERTY OF g_cell 'VALUE' = g_wa_deala-by2.
g_line1 = g_line1 + 1.
ENDLOOP.
SET PROPERTY OF g_excel 'VISIBLE' = 1.
*保存文件
CALL METHOD OF g_workbook 'SAVE'.
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24345566/viewspace-1051278/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24345566/viewspace-1051278/