abap开发之ole(附代码)

1.上传本地模版(在本地创建模版)
手动创建模版
事务代码:smw0

webrfc应用程序的二进制数据==》F8查找==》
包:&tmp(本地包,测试用)
对象名称:ole创建的程序名称
目标描述:任意
==》F5创建==》对象名称:要创建的模版名称(模版名称以z开头)
==》完成(输入)==》选择要上传的模版(本地文件)==》允许完成
模版上传成功,可以在程序中通过访问模版名称调用模版

创建ole程序(程序名称和对象名称一致):
步骤:
*引入函数所需要的变量
INCLUDE ZOLE_INC_ZF.
DATA:
G_LFGJA LIKE BKPF-GJAHR,
G_LFMON LIKE BKPF-MONAT,
G_FILE LIKE RLGRAP-FILENAME, ” 文件地址
G_EXCEL TYPE OLE2_OBJECT,
G_BOOKS TYPE OLE2_OBJECT,
G_SHEET TYPE OLE2_OBJECT,
G_SHEET_O TYPE OLE2_OBJECT,
G_RANGE TYPE OLE2_OBJECT,
G_ROW TYPE OLE2_OBJECT,
G_CELL TYPE OLE2_OBJECT,
G_SHEET_N TYPE OLE2_OBJECT,
G_COUNT_S TYPE I.

*主要步骤
INITIALIZATION.

START-OF-SELECTION.
PERFORM data_get. “1.数据获取
PERFORM frm_select_file CHANGING G_FILE.”2.文件路径选取
PERFORM frm_get_template USING ‘Z_MOBAN’. “3.提取模版
PERFORM frm_open_excel.”4.打开excel
PERFORM add_data.”5.数据添加
PERFORM frm_free_excel.”6.数据保存
END-OF-SELECTION.

第一步:数据获取data_get
这里获取stuinfor_zf(自建表)中的前三条数据,并将其写入内表it_tab当中
FORM data_get .
SELECT * FROM zstuinfor_zf INTO TABLE it_tab .
*取前三条数据
LOOP AT it_tab FROM 1 to 3.
MOVE-CORRESPONDING it_tab to it_out .
APPEND it_out.
ENDLOOP.
ENDFORM. ” DATA_DISPLAY

注意:it_tab要声明为带表头的内表,并且在写完数据不要忘记append,否则内表里边没有数据

第二步:文件路径选取 frm_select_file(不要忘记g_file参数的传递)
FORM frm_select_file CHANGING pc_file.
DATA l_file TYPE string.

CALL METHOD cl_gui_frontend_services=>directory_browse
CHANGING
selected_folder = l_file.

pc_file = l_file.
ENDFORM.
此时会弹出一个路径选择对话框,用于保存文件

第三步:模版提取,此时要用到我们之前上传的模版frm_get_template(using ‘Z_MOBAN’)

FORM frm_get_template USING pr_objid.

*提取模版
DATA:ls_key TYPE wwwdatatab.
DATA:l_file TYPE string,
l_msgtx TYPE bapi_msg. ” 消息文本

ls_key-relid = ‘MI’. “对象类型,MI代表EXCEL
ls_key-objid = pr_objid. “对象名称,即放在SMW0处模板名称

CONCATENATE

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值