将 SSRS 报告导出为 XML 时如何控制十进制格式?
我将单元格的 Format 属性设置为 0.0。在 BDS、Web 查看器和 PDF 中运行时,这些值会正确显示。但是,当我导出到 XML 时,精度会丢失。例如; 它在 PDF 中显示为 13.4,但在 XML 中显示为 13.37。当然,这在导入其他系统时会导致问题。
谢谢!
将 SSRS 报告导出为 XML 时如何控制十进制格式?
我将单元格的 Format 属性设置为 0.0。在 BDS、Web 查看器和 PDF 中运行时,这些值会正确显示。但是,当我导出到 XML 时,精度会丢失。例如; 它在 PDF 中显示为 13.4,但在 XML 中显示为 13.37。当然,这在导入其他系统时会导致问题。
谢谢!
如果您使用Format属性,当您导出到 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属性控制,但第二个实际上是文本框中的表达式:
=Format(Fields!MyValue2.Value, "N1")
因此,Format属性控制值的显示方式,但不更改其类型,但显式Format
表达式返回一个字符串,因此 XML 导出除了最终结果之外不知道任何更多细节。
两列的 PDF 导出将是相同的,但 XML 导出对它们的处理方式不同,如您所见。第二个选项,即Format
表达式,可能适用于您的情况。