SAP UI5 ExpreadSheet 导出功能允许开发人员将数据导出到 Office Open XML 电子表格。
开发人员可以导出具有表格格式的任何类型的内容,例如表格或列表。
如果使用 SmartTable 控件导出数据,还可以使用不同类型的导出,比如客户端导出(Client Export)或 SAP Gateway 导出。
SmartTable 控件提供导出所需的所有预配置内容。我们可以简单地使用它而无需自己定义任何配置,或者可以调整内容以使其适合自己的特定要求。 对于其他实体,必须如下所述手动定义配置。
如果要在没有 SmartTable 的情况下手动导出数据,则必须执行以下步骤:
-
在控制器编码中加载 sap.ui.export.Spreadsheet 库,可以在控制器初始化期间或按照需要时加载库。
-
为以下对象定义导出配置:
-
Columns
-
Data sources
-
用于处理导出的其他属性(可选)
如果库是在控制器初始化期间加载的,则它在控制器的整个生命周期内都可用。 您需要做的就是将库作为依赖项添加到现有的 sap.ui.define 调用中。此机制可确保每次使用该库时都已加载该库。 不需要处理同步或异步加载,但即使从未触发导出,也会加载库。
示例代码如下:
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/export/Spreadsheet"
], function(Controller, Spreadsheet) {
"use strict";
return Controller.extend("sample.Spreadsheet", {
// Place your controller coding here
});
});
如果库是按需加载的,它只会在实际需要时可用(例如,当用户按下导出按钮时)。您必须在每次需要时请求该库(尽管它只会从后端加载一次)。这可以通过使用带有回调函数的 sap.ui.require 来完成。 这是确保库将被异步加载所必需的,但它需要更多的努力来实现导出,因为所有导出步骤都需要由回调函数包装。
示例代码如下:
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function(Controller) {
"use strict";
return Controller.extend("sample.Spreadsheet", {
onExport: function() {
// loadLibrary is only needed when the library is not added as a dependent in bootstrap or any other dependency mechanism used in your project.
var oExportLibLoadPromise = sap.ui.getCore().loadLibrary("sap.ui.export", true);
oExportLibLoadPromise.then(function() {
sap.ui.require(["sap/ui/export/Spreadsheet"], function(Spreadsheet) {
// Place your export coding here
});
});
}
});
});
标签:控件,导出,Excel,Spreadsheet,Controller,ui,sap,加载
From: https://www.cnblogs.com/sap-jerry/p/16896388.html