OLE的简单应用,有兴趣可以看看运行效果
TABLES: marav,mara.
***内表定义
DATA:
BEGIN OF gt_out OCCURS 100 ,
matnr LIKE marav-matnr,
maktx LIKE marav-maktx,
matkl LIKE marav-matkl,
ntgew LIKE marav-ntgew,
gewei LIKE marav-gewei,
END OF gt_out.
*<<<使用的类型池和变量
TYPE-POOLS ole2 .
DATA:
myexcel TYPE ole2_object, "excel
workbooks1 TYPE ole2_object, "workbook
sheets1 TYPE ole2_object, "sheet
sheets2 TYPE ole2_object, "sheet
cora TYPE ole2_object.
**选择屏幕
SELECT-OPTIONS: s_matnr FOR marav-matnr .
*---------------------------------------------------------------------*
START-OF-SELECTION.
**get data
SELECT * FROM marav UP TO 20 ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_out
WHERE
matnr IN s_matnr.
***标题写入EXCEL
DATA lines TYPE i VALUE 1.
PERFORM excel USING lines 1 '物料' .
PERFORM excel USING lines 2 '描述' .
PERFORM excel USING lines 3 '物料组' .
PERFORM excel USING lines 4 '净重' .
PERFORM excel USING lines 5 '单位' .
***明细部分写入EXCEL
LOOP AT gt_out.
lines = sy-tabix + 1 .
PERFORM excel USING lines 1 gt_out-matnr .
PERFORM excel USING lines 2 gt_out-maktx .
PERFORM excel USING lines 3 gt_out-matkl .
PERFORM excel USING lines 4 gt_out-ntgew .
PERFORM excel USING lines 5 gt_out-gewei .
CLEAR gt_out.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form EXCEL
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
* -->P_NUM1 text
* -->P_NUM2 text
*----------------------------------------------------------------------*