我能够从JSON数组成功下载excel文件。该数组有许多记录,并根据用户输入来确定是否将所有数据下载到一个文件中或多个文件中。如果操作为“是”,那么我想将25行数据块中的数据下载到多个文件中。
下面是我的下载代码。如果有75条记录,那么将下载4个文件。前三个是正确的,每个记录有25条记录,但是第4个文件与第3个文件完全相同。换句话说,即使只有2条记录,最后一个文件也总是导出两次,我仍然得到2个文件。
如何避免这个问题?
控制器
aProducts =
this.getView().getModel("orderMaterials").getProperty("/MaterialData");
var oModel = [];
for (var i = 0; i <= aProducts.length - 1; i++) {
var items = {};
items.SubmittedBy = submittedBy;
items.MaterialNo= aProducts[i].MaterialNo;
items.LineNumber = i + 1;
oModel.push(items);
}
if (sAction === "YES") {
var i, j, temparray, chunk = 25;
for (i = 0, j = oModel.length; i < j; i += chunk) {
temparray = oModel.slice(i, i + chunk);
oSettings = {
workbook: {
columns: aCols
},
dataSource: temparray
};
var oSpreadsheet = new sap.ui.export.Spreadsheet(oSettings);
oSpreadsheet.build().then(function () {
sap.m.MessageToast.show("Spreadsheet export has finished");
});
}