SAP Gateway通过参数&$ format = xlsx->更改文件名下载Excel

2020-09-12 16:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 以下情形:我想通过ODa...

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

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


嗨,

以下情形:我想通过OData(SAP Gateway)通过参数&$ format = xlsx下载Excel文件。 如何更改文件名?

参考文档,响应中有一个字段负责文件名。

" HTTP响应标头的内容分配已填充,以向客户端建议实体集名称作为文件名:

 content-disposition:附件;  filename = Employees.xlsx 

"

https://help.sap .com/saphelp_nw74/helpdata/zh-CN/a2/4c8490449041b88b7890d299b57351/frameset.htm

但是我无法在GET_ENTITYSET方法中设置此字段。 有什么想法吗?

感谢和问候

Christoph

4条回答
CPLASF-自律
2020-09-12 17:49

这是标准的HTTP,换句话说:您必须在响应中添加一个简单的http标头。 但是,您可以在GET_STREAM中而不是在GET_ENTITYSET中进行此操作。

因此,在重新定义的GET_STREAM中执行以下操作:

数据:
     ls_header TYPE ihttpnvp,
     lv_filename类型字符串。

 " ...

 lv_filename ='Employees.xlsx'。  "从某处获取价值...
 ls_header-name ='内容处置'。
 ls_header-value ='附件;  filename ="'&& lv_filename &&'"'。

 me->/iwbep/if_mgw_conv_srv_runtime〜set_header(is_header = ls_header)。

 " ... 

一周热门 更多>