电子邮件CSV附件中的特殊字符

2020-09-14 00:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在尝...

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

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


你好

我正在尝试将内部表的内容作为CSV文件附加到电子邮件。 但是,当Excel应用程序打开文件时,特殊字符(在这种情况下为法语)存在问题。 如果使用记事本打开它,一切看起来都很好,所以我认为这是PC问题。 但是,如果直接从记事本创建CSV文件,则这些字符在记事本和Excel中都可以,这表明它毕竟可能是ABAP问题。 但是,我不确定。

这是我尝试过的:

LV_LINE_STR是用逗号分隔的字符串,而换行符是CL_ABAP_CHAR_UTILITIES => CL_LF常量。

尝试1:直截了当:处理纯文本-除特殊字符外,效果很好

呼叫功能'SCMS_STRING_TO_FTEXT'
     出口
       文字= lv_line_str
     输入
       长度= lv_length
     桌子
       ftext_tab = lt_att_content_text。

   lo_document-> add_attachment(
         i_attachment_type = CONV#('CSV')
         i_attachment_subject = CONV#(p_attnam)
         i_attachment_size = CONV#(lv_length)
         i_att_content_text = lt_att_content_text
   )。

 

尝试2:也许UTF-8转换(必须通过二进制)会有所帮助吗? 结果与上面完全相同

数据:
     lt_att_content_text_bin TYPE solix_tab。
   数据(lv_line_str_conv)= cl_abap_codepage => convert_to(
       源= lv_line_str
       codepage ='DEFAULT'"'UTF-8'
   )。

   通话功能'SCMS_XSTRING_TO_BINARY'
     出口
       缓冲区= lv_line_str_conv
    输入
      OUTPUT_LENGTH = lv_length
     桌子
       binary_tab = lt_att_content_text_bin。

   lo_document-> add_attachment(
         i_attachment_type = CONV#('CSV')
         i_attachment_subject = CONV#('物品清单')
         i_attachment_size = CONV#(lv_length)
         i_att_content_hex = lt_att_content_text_bin
   )。

 

提前感谢您的帮助!

KR

伊戈尔