该API创建一个新的电子表格导出对象。使用此对象从表格数据构建和下载OfficeOpenXML电子表格格式的电子表格文件。此功能通常与UI5表一起使用。此类使用来自指定数据源的表格数据构建OfficeOpenXML电子表格格式的电子表格。检索数据并在浏览器的工作线程中异步构建文档。进程的状态在可以设置为隐藏的进度对话框中直观地呈现给用户。用户可以使用对话框的取消按钮取消该过程。此类提供用于电子表格导出的低级API。sap.ui.comp.smarttable.SmartTable控件在内部实现此功能并提供开箱即用的导出功能。除了上述默认功能外,API还支持以下可选功能:隐藏进度对话框。弃用工人并在主线程中运行文档生成过程。配置导出的文件名。要开始导出,请创建一个新的sap.ui.export.Spreadsheet对象并调用构建方法。必须在构造函数中提供列配置、数据源和导出设置。build方法打开一个进度对话框并启动一个异步导出过程。导出过程从数据源获取数据行,在工作线程中的浏览器中构建电子表格,最后将文档下载到客户端。示例代码:varoSpreadsheet=newsap.ui.export.Spreadsheet(mSettings);oSpreadsheet.build();此外,可以附加一个onprogress事件侦听器以接收有关导出进度的通知并跟踪返回的Promise的完成状态。示例代码:varoSpreadsheet=newsap.ui.export.Spreadsheet(mSettings);oSpreadsheet.onprogress=function(iValue){{@linksap.base.Log#debugLog.debug}("Export:%"+iValue+"completed");};oSpreadsheet.build().then(function(){{@linksap.base.Log#debugLog.debug}("导出完成");}).catch(function(sMessage){{@linksap.base.Log#errorLog.error}("Exporterror:"+sMessage);});列配置的例子:varaColumns=[];aColumns.push({label:"姓名",属性:"姓名"});aColumns.push({label:"Salary",property:"salary",type:"number",scale:2});varmSettings={workbook:{columns:aColumns,context:{application:'DebugTestApplication',version:'${version}',title:'Somerandomtitle',modifiedBy:'JohnDoe',metaSheetName:'自定义元数据',元信息:[{name:'GroupedProperties',items:[{key:'administrator',value:'FooBar'},{key:'user',value:'JohnDoe'},{key:'server',value:'server.domain.local'}]},{name:'AnotherGroup',items:[{key:'property',value:'value'},{key:'some',value:'文本'},{key:'fu',value:'bar'}]}]},hierarchyLevel:'level'},dataSource:mDataSource,fileName:"salary.xlsx"};varoSpreadsheet=newsap.ui.export.Spreadsheet(mSettings);oSpreadsheet.build();
