开发人员只能导出 sap.ui.export.EdmType
中列出的原始单元格数据类型,如下图所示:
Excel Export API 不支持 UI5 表格单元格中的图标、图像、复选框和复杂控件。
也不支持数据绑定中的自定义格式化程序。
导出表的大小受可用浏览器内存的限制。导出大数据集可能会导致内存溢出错误。因此,请勿将 sap.ui.export.Spreadsheet
与在台式计算机上包含超过 2,000,000
个表格单元格和在移动设备上包含超过 100,000
个单元格的数据表一起使用。在这种情况下,请考虑专门的导出解决方案。例如,MS Excel®
可以直接从 OData 服务导入电子表格,无需任何 UI 的辅助。
导出过程尽可能在工作线程(浏览器的 Web Worker
)中运行。但是,对本机 XMLHttpRequest 事件的代码注入在工作环境中不可用。因此,如果应用程序使用 Mock Server
来获取表数据,则应将导出设置中的 worker 参数设置为 false。
对于导出层次级别信息,最大层次深度为 8。此限制来自 Office Open XML 标准和可以打开此类文件的程序。 sap.ui.export.Spreadsheet 允许路由导出更多层级,但如果层级深度超过值 8,则在打开生成的文件时它们可能无法正确显示。
列配置必须至少包含一列才能执行导出过程。如果没有配置列,导出将被取消。
如果在表中使用导出,则不会导出显示聚合数据的任何行(即合计行)。
workbook.context 对象上的属性 sheetName 和 metaSheetName 每个都限制为 31 个字符。如果它们的值超过此最大长度,则该值将被截断。对于有 ABAP 开发经验的编程人员来说,想必对这个限制并不会感到陌生。
一个小窍门:如果我们想自定义导出的 Excel 存储到本地的路径,可以使用这个 beforeSave
hook:
beforeSave 事件在生成的文件保存到文件系统之前触发。 此事件允许开发人员阻止关闭 ExportDialog 并将文件保存到本地设备的默认操作。 如果默认情况下被阻止,事件处理程序负责关闭和销毁对话框。