我使用sapui5 _javascript使用NDWS创建应用程序。我在视图中有一个表,它有一些数据(数据与服务器上的数据库同步)。我想从表中检索数据并导出到excel中(因此请获取单独的Excel文档)。这是我的触发器:
var oExportToExcelButton = new sap.ui.commons.Button( {
text : "Export to Excel",
width : '120px',
style : sap.ui.commons.ButtonStyle.Emph,
press : function() {
var jsonDataObject = oController.model.getProperty("/matreqs");
var taskIdFromView = sap.ui.getCore().byId("taskId").getValue();
var jsonData = JSON.stringify(jsonDataObject);
$.ajax("api/wpi/processrequest/getexcelexportfile?taskId="
+ taskIdFromView, {
context : this,
type : "POST",
processData : false,
contentType : "application/json",
data : jsonData,
error : function(request, status, error) {
console.log(error);
},
success : function(data) {
oController.getRequestParameterValue();
console.log(data);
top.close();
}
});
}
});
getRequestParameterValue()是控制器中的一个函数:
getRequestParameterValue: function(name) {
var half = location.search.split("&" + name + "=")[1];
if (!half) half = location.search.split("?" + name + "=")[1];
return half ? decodeURIComponent(half.split("&")[0]) : null;
})
我对编程很新,所以如果我的解释不是很清楚,我很抱歉。欢迎任何帮助!
答案 0 :(得分:2)
由于您已经可以使用客户端上的oController.model
.getProperty("/matreqs");
访问按钮按下事件中的数据,因此您应该能够将数据发送到服务器端服务(例如Java Servlet)。这应该关心将数据转换为有效的Excel文件。
您可以使用Apache POI。这对我来说很好。
如果您需要更多信息,请告诉我。