Службы отчетов SQL - экспорт в Excel - зачем нужны специальные форматы?

У меня есть отчет служб отчетов SQL, который содержит денежные значения, показанные без символа валюты (например, 1,234,56). Я экспортирую этот отчет в Excel и, если затем переформатирую их в денежные значения и нажимаю кнопку формата «Валюта», я получаю «1234,56 доллара».

Хорошо ... за исключением того, что я нахожусь в Великобритании, и в моих региональных настройках в качестве символа валюты указано "£". Если я просто запускаю Excel, набираю 1234,56 и нажимаю кнопку формата валюты, я получаю «1234,56 фунтов стерлингов» - так что это не похоже на настройки по умолчанию для Excel.

Я более внимательно посмотрел на экспортированный лист Excel и заметил, что значения отформатированы с использованием «специального» формата, а именно «[$ -1010809] #, ## 0.00; (#, ## 0.00)». Я не уверен, что такое "1010809" (см. здесь). (Это может не быть связано)

Оказывается, кнопка «Валюта» применяет формат «Бухгалтерский учет», но в электронной таблице, экспортированной из SSRS, это настраиваемый формат «(« $ »* #, ## 0.00). ; ("$" * (#, ## 0.00); ("$" * "-" ?? ); (@_) ". Предположительно, это объясняет символ доллара.

Есть ли способ, чтобы в экспортированной электронной таблице не использовались "пользовательские" форматы долларов США для значений валют? Я просмотрел отчет и попытался найти параметр или свойство, в котором указано «Английский (США)» или что-то подобное, но ничего не нашел.


person Black Light    schedule 09.11.2011    source источник
comment
Это использует SSRS 2005 (?) И Excel 2010.   -  person Black Light    schedule 09.11.2011


Ответы (1)


Язык для самого отчета можно изменить в окне палитры свойств (не диалоговое окно «Свойства отчета»). В этом окне, в разделе локализации, есть параметр «Язык».

Убедитесь, что это установлено правильно: en-GB

person Jamie F    schedule 09.11.2011
comment
Спасибо. С точки зрения SSRS, это просто числа и форматируются с использованием #, ## 0.00; (#, ## 0.00). Когда они попадают в Excel, я говорю, что это валюты, и применяются странные настраиваемые форматы. В самом отчете не отображаются символы валюты, но в Excel пользователь может применить их. - person Black Light; 09.11.2011
comment
Что вы получите в качестве эксперимента, если укажете формат валюты в отчете? Если это $, то, возможно, вы можете переключить языковой стандарт на сервере. Это может изменить языковой стандарт, установленный в экспортированных таблицах Excel. - person Jamie F; 09.11.2011
comment
Хммм ... не особо помогает. После изменения строки формата SSRS на c2 у меня было несколько полей с $ и некоторые с £ - те, что с $, имели свойство Language на английском языке. Я изменил его на значение по умолчанию, и во всех моих полях есть £. Я загрузил на сервер отчетов, запустил отчет (все £) и экспортировал в Excel. По-прежнему все £, потому что ячейки используют настраиваемый формат [$ -1010809] £ #, ## 0.00; - £ #, ## 0.00. Затем я нажал кнопку валюты, и поля изменились на $, используя указанный ранее пользовательский формат учета. - person Black Light; 09.11.2011
comment
Я собираюсь полностью изменить или удалить свой ответ. Язык может быть указан в отчете: в окне «Свойства» убедитесь, что «Отчет» выбран в верхнем раскрывающемся списке, затем в разделе локализации найдите поле «Язык». Что ты там видишь? Я собираюсь отредактировать свой ответ, чтобы предложить это. - person Jamie F; 09.11.2011
comment
Я посмотрел в свойствах отчета и обнаружил, что язык уже установлен на английский (Великобритания). Я изменил его на Default, но функциональной разницы это не повлияло. - person Black Light; 09.11.2011
comment
Я только что видел ваш комментарий о версии SSRS. Я настоятельно рекомендую вам перейти на SSRS 2008R2 для функциональности служб Reporting Services. Было внесено много изменений: SSRS 2005 был лишь вторым выпуском продукта. Но кроме этого, у меня нет идей. Я удалю этот ответ через день или два. - person Jamie F; 09.11.2011
comment
Привет, просто дважды проверил и установил язык отчета (английский (Великобритания) или язык по умолчанию) имеет значение - он создает 809 настраиваемых форматов (английский, Великобритания) вместо 409 форматов (английский, США). Помимо этого, все еще появляются знаки $ при применении формата валюты / учета. - person Black Light; 10.11.2011
comment
Только что проделал еще какое-то траление, и кажется, что правильнее установить язык отчета = User! Language. Не то чтобы это помогло! - person Black Light; 10.11.2011