点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在寻找一种可以以某种...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在寻找一种可以以某种...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在寻找一种可以以某种标准方式帮助我支持ECC6 EHP 4系统的xlsx支持的解决方案。
我希望如果在Excel中导出alv(任何alv报告程序),则应生成xlsx文件Office 2007标准xlsx文件进行保存。
我还在寻找可用于从自定义程序生成xlsx文件并通过电子邮件发送或进行GUI_Download的任何类/对象/函数。
我知道我不能在单线程上问太多问题,但是我的要求是要有一个标准解决方案,默认情况下在下载/上传中支持2007 Office excel文件格式。
我发现OSS也不是指相同的要求,但我想向您建议它可以完全解决我的目的。
OSS注释: 1286768
谢谢
Anand
嗨,
可以使用CL_SALV_TABLE和CL_BCS将ALV导出为XLSX格式,这适用于ECC6 EHP5,不确定EHP 4。
请参阅以下代码段以XLSX附件的形式发送电子邮件。
*******************************
类型:
lty_alv的开头,
....,
lty_alv的结尾。
数据:lty_alv的lt_alv类型标准表。
数据:lo_salv_table类型参考cl_salv_table。
选择...进入表lt_alv .....................
cl_salv_table =>工厂(
导入r_salv_table = lo_salv_table
更改t_table = lt_alv)。
*生成XLSX格式并发送电子邮件
数据:lo_bcs类型参考为cl_bcs,
lo_document类型参考为cl_document_bcs,
lo_distrlist_bcs类型参考为cl_distributionlist_bcs。
数据:lv_xml TYPE xstring,
lt_stream TYPE solix_tab。
数据lv_msg TYPE字符串。
"以Excel xml格式获取XML输出
lv_xml = lo_salv_table-> to_xml(
xml_type = if_salv_bs_xml => c_type_excel_xml
xml_flavour = if_salv_bs_c_tt )。
lt_stream = cl_bcs_convert => xstring_to_solix(iv_xstring = lv_xml)。
lv_msg ='邮件正文到此处'。
lo_document = cl_document_bcs => create_document(
i_type ='RAW'
i_text = cl_bcs_convert => string_to_soli(iv_string = lv_msg)
i_subject ='邮件主题去了这里')。
>
lo_document-> add_attachment(i_attachment_type ='RAW'"也可以使用XLS
i_attachment_subject ='file_name.xlsx'
i_att_content_hex = lt_stream)。
lo_bcs = cl_bcs => create_persistent()。
lo_bcs-> set_document(lo_document)。
lo_bcs-> set_sender(i_sender = cl_cam_address_bcs => create_internet_address('sender email id'))。 " cl_sapuser_bcs =>创建(sy-uname)
lo_distrlist_bcs = cl_distributionlist_bcs => getu_persistent(i_dliname ='分发列表名称'i_private = abap_false)。 "或使用上述创建互联网地址
lo_bcs-> add_recipient(i_recipient = lo_distrlist_bcs)。
lo_bcs-> set_send_immediately(abap_true)。
lo_bcs-> send_request-> set_link_to_outbox(abap_true)。
lo_bcs-> send()。
提交工作。
********************************
此方法的缺点:如果在SAP Business Workspace中打开了邮件,则该文件无法识别文件类型,因为它目前仅支持3个字符的身份。 外部电子邮件客户端可以正确打开附件。 如果要在SAP中打开附件,请将附件类型更改为" XLS",然后从文件名中删除文件扩展名。
谢谢
Shajahan
一周热门 更多>