从ssrs导出到Excel时,无法维护日期格式

时间:2019-05-01 09:07:45

标签: excel oracle reporting-services

我正在使用SSRS从Oracle提取数据-其中包括一个名为“ created”的日期时间字段-当我从ssrs生成excel文件时,我希望日期字段在Excel中显示为自定义dd-mmm-yy-但是当前显示为general(在Excel中,右键单击字段,字段属性)

我已经在报表生成器中尝试过:

将数字格式更改为“ N”

=CInt(Fields!FieldValue.Value)

将数字格式更改为dd-MMM-yy

在SSRS报表构建器中,我在SQL查询中创建了“创建”字段,如下所示:

upper r(to_char(UNI72LIVE.PR_BLPU.CREATED_D,'dd-mon-yy')) as Created

这在报表生成器中正确显示,但是在Excel中查看字段时会出现问题

2 个答案:

答案 0 :(得分:0)

如果使用to_char将日期字段转换为字符串,则Excel将在该单元格中包含文本而不是日期,并且无法将其视为用于排序和计算的日期。只要在SQL语句中将date字段作为纯字段,就可以将其保留为日期。

在您的单元格中,将Value属性仅设置为字段值(无格式):

=Fields!CREATED_D.Value

Format属性设置为dd-MMM-yy,日期将以您想要的格式显示。

现在,日期字段将作为实际日期值(而不是文本)导出到Excel,并且日期格式将正确设置。

答案 1 :(得分:0)

您需要在文本框的表达式中应用日期格式,

=Format(CDate(Fields!FieldValue.Value), "dd-MM-yyyy")

AND ,您需要转到此文本框属性: Textbox Properties> Number> Date 并选择格式为 Date

当然,您的语言必须设置为一个值。 这样,当您将其导出到Excel时,它应该可以工作。