我在html5应用程序中使用xlsx.js(第三方)。 而且,我已按照以下链接作为向html5应用程序添加第三方库的参考。
https://blogs.sap.com/2017/04/30/how-to-include-third-party-libraries-modules-in-sapui5/
Excel读取功能
handleExcelUpload: function() {
var fileUpload = this.getView().byId("idfileUploader");
var domRef = fileUpload.getFocusDomRef();
var file = domRef.files[0];
if (file === undefined) {
var ss = 0;
} else {
this.importExcelFile(file);
}
},
importExcelFile: function(file) {
var that = this;
if (file && window.FileReader) {
//Initialize Reader
var reader = new FileReader();
var result = {},
data;
reader.onload = function(e) {
data = e.target.result;
//get workbook data as binary
var wb = XLSX.read(data, {
type: 'binary'
});
wb.SheetNames.forEach(function(sheetName) {
var roa = XLSX.utils.sheet_to_row_object_array(wb.Sheets[sheetName]);
if (roa.length > 0) {
result[sheetName] = roa;
}
that.bindTable(result, sheetName);
return result;
});
};
reader.readAsBinaryString(file);
}
}
问题是当我在Web-IDE中运行该应用程序时,该应用程序运行正常。 但是一旦部署到fiori发射台上,它会产生以下错误
Home.controller.js?eval:31未捕获的TypeError:XLSX.read不是 功能 在FileReader.reader.onload(Home.controller.js?eval:31)
我也尝试了其他方法。例如
1)在清单中的资源部分添加引用
"resources": {
"css": [
{
"uri": "css/style.css"
}
],
"js": [
{
"uri": "lib/xlsx.js"
}
]
},
2)使用组件js加载库
jQuery.sap.require("sampleApp.lib.xlsx");
jQuery.sap.require("sampleApp.lib.jszip");
但是当部署到fiori云启动板时上述方法中的任何一种都不起作用 我该如何解决