Экспорт формы отчета SSRS в Excel добавляет десятичное число только к 0,00 значениям - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть простой отчет служб Reporting Services с несколькими значениями DECIMAL (19,4) из хранимой процедуры. Я форматирую эти столбцы с помощью «N2», потому что я всегда хочу ровно 2 знака после запятой. Формат работает правильно в отчете, как и всегда. Как только я экспортирую его в Excel, хотя в одном из столбцов (последний справа, имеет ли это значение?) Число десятичных знаков увеличивается с 2 до 15, но ТОЛЬКО если значение в ячейке равно 0 (отформатировано изначально как 0,00, конечно).

Если ячейка пуста, она становится пустой и все в порядке. Если он отличается от 0, он отображается правильно. Только значение 0 становится 0,000000000000000

Я пробовал также формат "0.00", но проблема сохраняется.

Когда я открываю Excel, он говорит, что возникла проблема с его открытием. Все клетки с этим странным зеленым треугольником сигнализируют об ошибке. Там написано: «Число в этой ячейке отформатировано как текст или перед ним стоит апостроф». Что бы я ни делал с этими значениями, я думаю, что я делаю также со всеми другими значениями того же столбца, поэтому я не могу понять, почему 0 обрабатывается по-разному.

Если я заставлю хранимую процедуру вернуть 1, когда она должна вернуть 0, она будет работать правильно.

[EDIT] Если я наложу приведение на DECIMAL (19,4) в St.Proc. для этого значения (которое исходит из арифметического вычисления), оно работает !!

Итак, я решил свою проблему, но все же я хотел бы знать, ПОЧЕМУ и убрать ужасные усики CAST Кстати, код, который я приведу к десятичному типу, в основном:

CASE WHEN B = 0 THEN NULL ELSE 100.0*A/B END 

с А и В ДЕСЯТИЧНО (19,4). Проблема возникает только при А = 0.

1 Ответ

0 голосов
/ 07 сентября 2018

В вашем tablix напишите выражение следующим образом

=CDbl(Fields!YourFeild.Value)

Затем перейдите в Свойства текстового поля> Число и выберите в категории Число и десятичные разряды. Теперь, если вы экспортируете его в Excel, вы получите желаемый результат. Вам всегда нужно сочетание этих двух, чтобы получить форматы в Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...