開發人員只能匯出 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 並將檔案儲存到本地裝置的預設操作。 如果預設情況下被阻止,事件處理程式負責關閉和銷燬對話方塊。