2020-08-24 02:25发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,UI5大师,
在我看来,我有一个使用sap.ui.table库创建的表,我给它提供了一个自定义ID" TAB2"
现在在控制器端,我已经编写了用于下载Table控件数据的代码,并附带了屏幕截图。
我正在下载Excel文件,但其内容为空。
任何人都可以提出建议,什么需要纠正。
谢谢
四进
我也尝试过SAP文档中提到的内容,但是它也给出了空白内容。
https://help.sap.com/saphelp_nw74/ helpdata/zh-CN/f1/ee7a8b2102415bb0d34268046cd3ea/frameset.htm
嗨,伊凡,
我同意您的观点,即致电odata服务以在excel中下载数据。 可以在对象页表中的sap.ui.table/网格表中实现此功能?
我必须启用对象页面部分中的下载按钮-Fiori 1.52版的对象页面中的表数据。
这可能吗?
Soumya
嗨,Sijin,
表对象很棘手。 您是否尝试过:
var oTable = this.getView()。byID(" TAB2"); //oTableRows将以json格式包含表格中的可见数据-因此您可以将其传递给sap.ui.core.util.ExportTypeCSV var oTableRows = oTable.getBindingInfo(" rows");
这仅仅是开始。 我必须开发一个实用程序库才能导出数据。 这是因为视图组件(表)将仅包含显示的值。 如果执行过滤器或任何种类的分类器,则导出将无用。 假设您将表格限制为5行。 您的导出将只有5行。
正确的解决方案应该是将导出功能基于完整的OData输出。 因此,您需要检索过滤器,排序器和选定的列,以"模拟"用户"认为"他们正在查看的数据,然后再次调用该服务,将值传递回导出功能。
关于,伊万
嗨,思金,
请查看以下代码:
OnExcelAssets:函数(oEvt){ var oModel = this.getView()。getModel(" masterView"); var oData = oModel.getData(); var oTab = this.getView()。byId(" TAB2"); var oBinding = oTab.getBinding(" items"); var oExport = new Export({ exportType:新的ExportTypeCSV({ spacerChar:";" }), 模型:this.getView()。getModel(" masterView"), 行:{ 路径:"/img/myAssets", 过滤器:oBinding.aFilters }, 列 : [{ 名称:this.getResourceBundle()。getText(" actCol1"), 模板:{ 内容:" {Anln1}" } },{ 名称:this.getResourceBundle()。getText(" actCol2"), 模板:{ 内容:" {Txt50}" } },{ 名称:this.getResourceBundle()。getText(" actCol6"), 模板:{ 内容:" {Zzestadotxt}" } }] }); this.onExcel(oExport); }, onExcel:sap.m.Table.prototype.exportData || 函数(oExport){ var vText = this.getResourceBundle()。getText(" errorPressExcel"); //下载导出的文件 oExport.saveFile()。catch(function(oError){ //处理您的错误 })。then(function(){ oExport.destroy(); }); },
此致
约翰。
最多设置5个标签!
我也尝试过SAP文档中提到的内容,但是它也给出了空白内容。
https://help.sap.com/saphelp_nw74/ helpdata/zh-CN/f1/ee7a8b2102415bb0d34268046cd3ea/frameset.htm
嗨,伊凡,
我同意您的观点,即致电odata服务以在excel中下载数据。 可以在对象页表中的sap.ui.table/网格表中实现此功能?
我必须启用对象页面部分中的下载按钮-Fiori 1.52版的对象页面中的表数据。
这可能吗?
谢谢
Soumya
嗨,Sijin,
表对象很棘手。 您是否尝试过:
这仅仅是开始。 我必须开发一个实用程序库才能导出数据。 这是因为视图组件(表)将仅包含显示的值。 如果执行过滤器或任何种类的分类器,则导出将无用。 假设您将表格限制为5行。 您的导出将只有5行。
正确的解决方案应该是将导出功能基于完整的OData输出。 因此,您需要检索过滤器,排序器和选定的列,以"模拟"用户"认为"他们正在查看的数据,然后再次调用该服务,将值传递回导出功能。
关于,
伊万
嗨,思金,
请查看以下代码:
此致
约翰。
一周热门 更多>