在单个工作表中发送带有多个表的.xlsx文件附件

2020-09-07 23:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


有很多与.XLSX附件相关的博客和查询。 但是找不到我的要求的答案,因此发布了这个问题。

我的要求是将.xlsx文件作为邮件附件发送。 我已经有使用ixml生成.xls文件附件的现有代码。

但是我无法使用生成的相同IXML数据来创建.xlsx附件。 它显示"文件已损坏"消息。 我正在使用CL_BCS类发送邮件。 尝试提供从IXML的create_ostream_itable(二进制故事格式)和create_ostream_xstring(XSTRING)方法呈现的数据。 他们都不工作。 但是相同的数据适用于.xls

查询1-如何使用IXML数据生成.xlsx?

我尝试过的另一种生成.xlsx附件的方法是使用cl_salv_bs_lex => export_from_result_data_table并生成XSTRING。 但是有了这个,我只能基于单个内部表创建.xlsx附件。 我需要在同一.xlsx工作表中有多个表。

查询2-如何使用cl_salv *方法在.xlsx中拥有多个表?

这可以通过ABAP2XLSX实现。 但是我们正在寻找仅使用SAP提供的方法。

感谢任何投入。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


有很多与.XLSX附件相关的博客和查询。 但是找不到我的要求的答案,因此发布了这个问题。

我的要求是将.xlsx文件作为邮件附件发送。 我已经有使用ixml生成.xls文件附件的现有代码。

但是我无法使用生成的相同IXML数据来创建.xlsx附件。 它显示"文件已损坏"消息。 我正在使用CL_BCS类发送邮件。 尝试提供从IXML的create_ostream_itable(二进制故事格式)和create_ostream_xstring(XSTRING)方法呈现的数据。 他们都不工作。 但是相同的数据适用于.xls

查询1-如何使用IXML数据生成.xlsx?

我尝试过的另一种生成.xlsx附件的方法是使用cl_salv_bs_lex => export_from_result_data_table并生成XSTRING。 但是有了这个,我只能基于单个内部表创建.xlsx附件。 我需要在同一.xlsx工作表中有多个表。

查询2-如何使用cl_salv *方法在.xlsx中拥有多个表?

这可以通过ABAP2XLSX实现。 但是我们正在寻找仅使用SAP提供的方法。

感谢任何投入。

付费偷看设置
发送
3条回答
CPLASF-自律
1楼-- · 2020-09-07 23:20

嗨奎恩,

我正在使用通过if_ixml_stream_factory-> create_ostream_xstring(string = lv_xstring)方法从ixml呈现的Xstring数据

lv_size = XSTRLEN(lv_xstring)

打电话给我cl_bcs_convert => xstring_to_solix

导出iv_string = lv_xstring

接收et_solix = lt_table

lt_attachment_header =值#((LINE ='&SO_FILENAME ='&&'文件名'&&'.xlsx'))

cl_document_bcs-> add_attachment(I_attachment_type ='xls'

I_attachment_subject ='文件名'

I_attachment_size = CONV so_obj_len(lv_size)

I_att_content_hex = lt_table

I_attachment_header = lt_attachment_header)。

有什么方法可以转换从IXML生成的Xstring来创建.XLSX附件吗?

小灯塔
2楼-- · 2020-09-07 23:34

您如何使用旧的代码将xls生成为产品xlsx文件? 我以为它们是技术上的区别...

如果要使用SAP提供的方法,请尝试CL_XLSX_DOCUMENT类,可以在Internet上找到示例。

暮风yp
3楼-- · 2020-09-07 23:19

所以基本上,您使用ixml创建XLS文件,但是将文件名更改为.XSLX吗? xlsx基于开放的xml,其格式有所不同,您不能使用直接生成xls文件的相同xml。 我不知道有没有任何SAP方法可以转换文件格式,但是也许编写新方法来生成xlsx文件的速度更快。

一周热门 更多>