Предположим, у меня есть поле со значением даты в шаблоне служб 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 что ли? Почему мы не можем вести себя последовательно, т.е. либо делать все с учетом культуры компьютера, просматривающего документ, либо нет, почему фактическое поведение находится где-то посередине?