#.net #wcf #excel #rest #excel-web-query
#.net #wcf #excel #rest #excel-web-query
Вопрос:
У меня есть веб-сервис, который возвращает XML, который выглядит как:
<ArrayOfPosition>
<Position>
<Amount>9</Amount>
<Symbol>Bob</Symbol>
<UpdateTime>2011-04-21T11:34:34.234234234-04:00</UpdateTime>
<UpdateTimeStr>2011-04-21 11:22:33</UpdateTimeStr>
</Position>
<Position>
<Amount>10</Amount>
<Symbol>Fred</Symbol>
<UpdateTime>2011-04-21T11:34:34.234234234-04:00</UpdateTime>
<UpdateTimeStr>2011-04-21 11:22:44</UpdateTimeStr>
</Position>
</ArrayOfPosition>
Он поступает в Excel без проблем, но независимо от того, что я делаю, я не могу изменить форматирование столбцов UpdateTime или UpdateTimeStr в электронной таблице. Excel, похоже, отказывается распознавать эти данные как поле datetime.
У меня было ощущение, что он не сможет определить, что поле было датой и временем, поэтому я добавил поле с именем UpdateTimeStr, в котором время отформатировано так, как я ожидал, что Excel поймет, но, увы, ничего не вышло. Есть идеи?
Ответ №1:
Одним из решений является использование формулы в Excel для повторного использования текстовых данных, импортируемых из XML. Например, вы можете написать формулу типа: «=D2 0» (D2 будет ячейкой, в которой хранится значение UpdateTimeStr), чтобы получить числовое представление значения UpdateTimeStr (например: 40654.47399). Затем вы можете отформатировать это числовое значение как дату любым удобным для вас способом.
Вы можете проделать этот небольшой трюк в отдельном столбце, чтобы вычислить все числовые представления для всего столбца UpdateTimeStr. Затем вы форматируете этот новый столбец (с числами) и вставляете его поверх исходного столбца UpdateTimeStr.
Я надеюсь, что это поможет вам!