Форматирование даты SSRS 2008 и экспорт для исключения путаницы

Предположим, у меня есть поле со значением даты в шаблоне служб Reporting Services, например = CDate (" 2010.12 .03 ") , я применяю к этой ячейке формат" d ", который, согласно описанию," будет отражать региональные настройки отчета ". Я создаю отчет на английском языке, дата отображается как 12/03/2010 , и это нормально. Теперь, когда я экспортирую этот отчет в Excel, я понятия не имею, что происходит _ _.

Первый сценарий: региональные настройки компьютера установлены на английский язык (США). Когда я открываю документ Excel, в ячейке отображается значение 12/03/2010 , как и ожидалось. Когда я нажимаю на нее, я вижу, что фактическое значение, хранящееся в ячейке, равно 2010.12.03 , что также кажется разумным - к ячейке применяется некоторое форматирование, а не просто экспортируется как текст. Но когда я пытаюсь выяснить, какой тип форматирования применяется, щелкнув правой кнопкой мыши и выбрав пункт «Формат ячеек», я вижу, что это формат «Общий», т.е. нет! Как это может быть ? Кстати, это Excel 2010, но сам файл, конечно, .xls.

Второй сценарий, который становится более интересным: теперь регион компьютера установлен, например, на Литву, где формат даты - 2010.12.03 . Открываю тот же документ и вижу 12.03.2010 . Теперь это просто бессмысленно. При экспорте я много раз сталкивался с тем, что иногда ячейка форматируется как [$ - 10409] mdyyyy в excel (в разделе Custom). Что это, что означает 10409? Самая странная часть всего: если я закрою документ без сохранения, изменю регион компьютера обратно на английский (США), снова открою документ, формат теперь будет [$ - 10409] м / д / гггг ! Как это возможно ! ??

В основном то же самое происходит с числами и с разделителями тысяч / десятичных разделителей - Excel использует регион компьютера для их форматирования, но фактический формат ячейки может быть примерно таким, как [$ - 10409] # , ## 0.00; - #, ## 0.00 или General - опять же, в зависимости от региона компьютера, направления ветра и температуры снаружи.

Тогда мой вопрос, прежде всего, что _ _ продолжается? Во-вторых, как должен вести себя документ Excel в соответствии со спецификациями, т.е. что означает утверждение о том, что формат "будет отражать региональные настройки отчета" в разработанных BIDS, где я выбрал формат "d" для текстового поля даты, означает ? Значит ли это, что формат будет определяться языком отчета, и результат будет выглядеть одинаково на всех компьютерах в мире (что имеет смысл, поскольку именно так ведут себя другие форматы, т.е. если вы экспортируете дату в pdf, она остается всегда то же самое)? Если нет, что, по-видимому, частично имеет место в Excel, почему экспортированная ячейка даты не имеет региональный формат даты, то есть тот, который вы обычно используете в Excel, тот, который форматирует дату в соответствии с регионом компьютера ?

Это какие-то ограничения Excel что ли? Почему мы не можем вести себя последовательно, т.е. либо делать все с учетом культуры компьютера, просматривающего документ, либо нет, почему фактическое поведение находится где-то посередине?

7
задан Saulius Valatka 5 December 2010 в 11:06
поделиться