У меня есть отчеты SSRS, в которых отображаются суммы в валюте. Им необходимо знать как культуру, так и валюту. В некоторых отчетах в одной таблице указаны разные валюты. У меня нет проблем с культурной осведомленностью. Проблема в форматировании валюты. Важно отметить, что при экспорте в Excel значения в этих полях валют должны сортироваться как числа. Это означает, что значения ячеек должны быть числами, поэтому я не могу использовать обычные функции .ToString ("C", культура), которыми заканчиваются многие другие сообщения. Мне нужно сохранить числовое значение в поле и применить строку формата .NET к числу (например, «'$' #, 0.00; ('$' #, 0.00)»). Таким образом, Excel будет обрабатывать значение как число для целей сортировки, но отображать валюту в правильном формате.
Можно ли использовать код для изменения экземпляра NumberFormatInfo, а затем каким-то образом вернуть строковое значение средства форматирования, например «'€' #, 0.00; ('€' #, 0.00)»?
var numberFormat = new CultureInfo("en-US").NumberFormat;
numberFormat.CurrencySymbol = "€";
return numberFormat.GetCurrencyFormatString(); //this is an imaginary function that I need to return "'€'#,0.00;('€'#,0.00)"
Я попытался программно установить символ валюты на основе информации о валюте каждой строки. Насколько мне известно, SSRS не позволяет мне использовать Expression для установки символа валюты. Он предлагает только раскрывающийся список.
Моим пользователям не нравится, когда я показываю код валюты (например, USD, CAD), поэтому я застрял с отображением символа (например, $, CA $).