ABAP_EXCEL导出数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用EXCEL导出数据
要完成使用EXCEL导出数据,基本分为两布:
1 建立excel模版
2 在程序中整理要输出的数据,并完成最终的输出
1 建立excel模版
1.1 在本地建立一个excel
设置模版的格式,在本例中,模版格式如下:
1.2 使用Tcode:OROA,将模版导入SAP系统1.
2.1 输入Tcode:OROA
注:其他字段可以不填
1.2.2 导入模版
1.2.2.1 导入模版
Create——>standard.doc.types ——> table template
1.2.2.2 选择要导入的模版
1.2.2.3 输入模版信息——描述和语言
1.2.2.5 导入模版之后,在屏幕左上角会添加模版
2. 程序中整理数据,并调用模版输出2.1 整理数据,并调用屏幕
SELECT * FROM zlhjtest
INTO CORRESPONDING FIELDS OF TABLE l_itab_stu. CALL SCREEN0100.
2.2 输出屏幕
2.2.1 输出屏幕之前,调用模版
SET PF-STATUS 'STAN1'.
PERFORM create_basic_objects USING'''''''' document_name. PERFORM output_to_excel.
2.2.2 输出屏幕之后,根据用户选择做出反应
实现这些功能的的代码,如下:
REPORT zlhjtest_abavn.
TYPE-POOLS:slis,vrm,soi.
TYPES:BEGIN OF l_hh,
BSART LIKE T161-BSART,
batxt TYPE t161t-batxt,
END OF l_hh.
DATA: ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
DATA: flag TYPE c,
initialized TYPE c,
item_url(256) TYPE c,
app TYPE vrm_id,
excel(80) VALUE'Excel.Sheet',
v_title1(60) TYPE c VALUE'制作人:李红娟'.
DATA: rangeitem TYPE soi_range_item,
ranges TYPE soi_range_list.
DATA: excel_input TYPE soi_generic_table,
excel_input_wa TYPE soi_generic_item.
DATA: document_type(80) TYPE c,
container TYPE REF TO cl_gui_custom_container,
control TYPE REF TO i_oi_container_control,
document TYPE REF TO i_oi_document_proxy,
spreadshee TYPE REF TO i_oi_spreadsheet,
error TYPE REF TO i_oi_error,
errors TYPE REF TO i_oi_error
OCCURS0WITH HEADER LINE. DATA: l_itab_stu TYPE TABLE OF t161t,
l_wa_stu TYPE t161t.
CONSTANTS:document_name(30) VALUE'学生信息表', "
inplace VALUE'X'.
1. 选择数据
SELECT * FROM zlhjtest
INTO CORRESPONDING FIELDS OF TABLE l_itab_stu.
2 调用输出屏幕
CALL SCREEN0100.
*******************下面是子程序*****************************
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STAN1'.
PERFORM create_basic_objects USING'''''''' document_name. PERFORM output_to_excel.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Form create_basic_objects
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0130 text
* -->P_0131 text
* -->P_0132 text
* -->P_0133 text
* -->P_DOCUMENT_NAME text
*----------------------------------------------------------------------*
FORM create_basic_objects USING p_app_name
p_classname
p_classtype
p_obj_key
p_docname.
DATA: l_app_name(200).
CHECK initialized IS INITIAL.
CALL METHOD
c_oi_container_control_creator=>get_container_control