SmartTable Excel下载日期格式问题

时间:2018-12-25 14:23:27

标签: sapui5

我正在使用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;
			}
		},

1 个答案:

答案 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>