1

将 SSRS 报告导出为 XML 时如何控制十进制格式?

我将单元格的 Format 属性设置为 0.0。在 BDS、Web 查看器和 PDF 中运行时,这些值会正确显示。但是,当我导出到 XML 时,精度会丢失。例如; 它在 PDF 中显示为 13.4,但在 XML 中显示为 13.37。当然,这在导入其他系统时会导致问题。

谢谢!

4

1 回答 1

2

如果您使用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表达式,可能适用于您的情况。

于 2013-10-16T21:34:56.220 回答