关于 SAP UI5 控件内容的 Excel 导出功能,如何加载所需的导出工具库

简介: 关于 SAP UI5 控件内容的 Excel 导出功能,如何加载所需的导出工具库

SAP UI5 ExpreadSheet 导出功能允许开发人员将数据导出到 Office Open XML 电子表格。


开发人员可以导出具有表格格式的任何类型的内容,例如表格或列表。


如果使用 SmartTable 控件导出数据,还可以使用不同类型的导出,比如客户端导出(Client Export)或 SAP Gateway 导出。


SmartTable 控件提供导出所需的所有预配置内容。我们可以简单地使用它而无需自己定义任何配置,或者可以调整内容以使其适合自己的特定要求。 对于其他实体,必须如下所述手动定义配置。


如果要在没有 SmartTable 的情况下手动导出数据,则必须执行以下步骤:


  1. 在控制器编码中加载 sap.ui.export.Spreadsheet 库,可以在控制器初始化期间或按照需要时加载库。


  1. 为以下对象定义导出配置:


  • 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
                });
            });
        }
    });
});
相关文章
|
1月前
|
NoSQL 关系型数据库 MySQL
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队; 刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;还考虑到异步,可能还需要建个文件导出表,主要记录文件的导出情况,文件的存放地址,用户根据文件列表情况下载导出文件。
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
27 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
15 0
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
1月前
|
开发者 UED
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
14 0
|
9天前
|
easyexcel 数据库
公司大佬对excel导入、导出的封装,那叫一个秒啊
封装公司统一使用的组件的主要目标是为了简化开发人员的调用流程,避免各个项目组重复集成和编写不规范的代码。文中提到对阿里EasyExcel进行了二次封装,提供了导入和导出功能,并支持模板的导入和导出。此外,还处理了读取数据与实际保存数据不一致的情况,通过提供自定义转换器来解决。
32 0
|
9天前
|
数据库
开发指南009-从list导出excel文件
从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法
|
9天前
|
前端开发
开发指南007-导出Excel
平台上开发导出Excel比过去的单体架构要复杂些,因为前端和后台不在一个进程空间里。
|
1月前
|
前端开发
element ui实现多层级复杂表单的操作(添加与回显)之回显功能实现
element ui实现多层级复杂表单的操作(添加与回显)之回显功能实现
14 0
|
1月前
|
JSON 数据格式
element ui实现多层级复杂表单的操作(添加与回显)之添加功能实现
element ui实现多层级复杂表单的操作(添加与回显)之添加功能实现
13 0