我正在使用sap.ui.comp.smarttable.SmartTable在表中显示数据。我可以使用CustomData以日期格式显示日期。
在视图中用于在表中显示日期的视图,在下面使用:
<Column width="100px">
<customData>
<core:CustomData key="p13nData" value='\{"columnKey": "ExemptEndDt", "maxLength": "5","columnIndex":"33", "leadingProperty": "ExemptEndDt"}' />
</customData>
<Label text="{i18n>ExemptEndDt}" design="Bold" tooltip="{i18n>ExemptEndDt}" />
</Column>
但是当我在Excel中下载数据时,它以json日期格式显示数据
/日期(1451606400000)/
通过使用类型为Edm.Date的类型,我能够通过使用onBeforeExport事件来显示日期格式。这样,我能够以MM / dd / yyyy格式将json日期显示为Date。 但我的要求是将日期显示为dd / MM / yyyy。 我知道我需要使用inputFormat属性,但无法弄清楚如何将该属性作为所需数据传递。
任何人都可以在我需要使用的格式上提出建议。
SmartTable正在使用电子表格来实现此https://sapui5.hana.ondemand.com/#/api/sap.ui.export.Spreadsheet/constructor
在控制器中,我将日期列的类型更改为Edm.Date类型,如下所示:
onBeforeExport: function (oEvt) {
var mExcelSettings = oEvt.getParameter("exportSettings");
mExcelSettings.workbook.columns[33].type = sap.ui.export.EdmType.Date; //ExemptToDate
mExcelSettings.workbook.columns[33].width = 10;
mExcelSettings.workbook.columns[32].inputFormat = "dd/MM/yyyy"; //Not Working
// GW export
if (mExcelSettings.url) {
return;
}
},
答案 0 :(得分:0)
您可以通过在如下视图中将edmType属性添加到customData来实现此格式('03 .09.2020 0:00:00'):
<core:CustomData key="p13nData" value='\{"columnKey": "Period", "columnIndex":"4",
"edmType":"Edm.DateTime", ..}'/>
摘自{@ {3}}帖子中约翰·帕特森(John Patterson)的评论
在我的情况下,以下解决方案让我们导出到excel日期而没有时间:“ 14.09.2020”:
<table:AnalyticalColumn leadingProperty="someProp">
<Label text="{some binding}"/>
<table:customData>
<core:CustomData key="p13nData" value='\{ "columnKey": "someProp", "columnIndex" : "18", "type":"date"}'/>
</table:customData>
<table:template>
[some template]
</table:template>
</table:AnalyticalColumn>