Sapui5 sap.ui.table中的Excel导出问题
我需要将sap.ui.table数据导出到excel中。 数据来自OData服务,并通过行绑定聚合绑定到sap.ui.table 请在下面找到相应的编码 XML-sap.ui.Table声明Sapui5 sap.ui.table中的Excel导出问题,sapui5,Sapui5,我需要将sap.ui.table数据导出到excel中。 数据来自OData服务,并通过行绑定聚合绑定到sap.ui.table 请在下面找到相应的编码 XML-sap.ui.Table声明 <table:Table id="idTblExistingProposal" selectionMode="None" visibleRowCount="22" class="sapUiSmallMargin"> <table:toolbar>
<table:Table id="idTblExistingProposal" selectionMode="None" visibleRowCount="22" class="sapUiSmallMargin">
<table:toolbar>
<Toolbar height='2rem'>
<ToolbarSpacer/>
<Button tooltip="Change Layout" icon="sap-icon://action-settings" press="openSetting"/>
<Button tooltip="Excel Download" icon="sap-icon://excel-attachment" press="exportToExcel"/>
</Toolbar>
</table:toolbar>
</table:Table>
单击工具栏sap.ui.table按钮上调用的Excel导出代码
exportToExcel: function (oEvt) {
var oTable = this.getView().byId("idTblExistingProposal");
var aColumns = oTable.getColumns();
var aTemplate = [];
for (var i = 0; i < aColumns.length; i++) {
var oColumn = {
name: aColumns[i].getLabel().getText(),
template: {
content: {
path: "/columns" + "/" + i
}
}
};
aTemplate.push(oColumn);
}
var oExport = new sap.ui.core.util.Export({
exportType: new sap.ui.core.util.ExportTypeCSV({
separatorChar: "\t",
mimeType: "application/vnd.ms-excel",
charset: "utf-8",
fileExtension: "xls"
}),
// Pass in the model created above
models: oEvt.getSource().getParent().getParent().getModel(),
// binding information for the rows aggregation
rows: {
path: "/rows"
},
columns: aTemplate
});
// download exported file
oExport.saveFile().catch(function (oError) {
MessageBox.error("Error when downloading data.\n\n" + oError);
}).then(function () {
oExport.destroy();
});
}
exportToExcel:函数(oEvt){
var oTable=this.getView().byId(“idTblExistingProposal”);
var aColumns=oTable.getColumns();
var-aTemplate=[];
对于(变量i=0;i
PFB Excel输出
请导游
问候,,
赛义德找到了解决办法
通过替换下面代码中的字段值路径,导出成功了
旧代码:
var oColumn = {
name: aColumns[i].getLabel().getText(),
template: {
content: {
path: "/columns" + "/" + i
}
}
};
新代码:
var oColumn = {
name: aColumns[i].getLabel().getText(),
template: {
content: {
path: aColumns[i].getProperty("filterProperty")
}
}
};
问候,,
Sayed你可以接受自己的答案,让别人知道这个问题现在已经解决了
var oColumn = {
name: aColumns[i].getLabel().getText(),
template: {
content: {
path: aColumns[i].getProperty("filterProperty")
}
}
};