将SSRS报告导出到XML时,如何控制小数格式?
我的单元格的Format属性设置为0.0。在BDS,Web查看器和PDF中运行时,这些值会正确显示。但是,当我导出到XML时,精度会丢失。例如;它在PDF中显示为13.4,在XML中显示为13.37。当然,这会导致导入其他系统时出现问题。
谢谢!
答案 0 :(得分:2)
如果您使用格式属性,则在导出到Excel和XML时,这实际上不会更改基础值。
拿这个简单的报告。
数据集:
输出:
这导出为XML:
<?xml version="1.0" encoding="utf-8" ?>
<Report xsi:schemaLocation="Report1 http://reportserver/?%2fReport1&rs%3aFormat=XML&rc%3aSchema=True" Name="Report1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Report1">
<Tablix1>
<Details_Collection>
<Details MyValue1="1.234" MyValue2="1.2" />
<Details MyValue1="5.678" MyValue2="5.7" />
</Details_Collection>
</Tablix1>
</Report>
这有什么区别?
第一个值由格式属性控制,但第二个值实际上是文本框中的表达式:
=Format(Fields!MyValue2.Value, "N1")
因此, Format 属性控制值的显示方式但不更改其类型,但显式Format
表达式返回一个字符串,因此XML导出不再意识到除了最终结果之外的细节。
两个列的PDF导出都是相同的,但XML导出会以不同的方式处理它们。第二个选项,即Format
表达式,可能适用于您的情况。