.net Excel 2007不会重新格式化具有日期时间字段的xml web查询

.net Excel 2007不会重新格式化具有日期时间字段的xml web查询,.net,wcf,excel,rest,excel-web-query,.net,Wcf,Excel,Rest,Excel Web Query,我有一个web服务,它返回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</Upda

我有一个web服务,它返回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>

9
上下快速移动
2011-04-21T11:34:34.234-04:00
2011-04-21 11:22:33
10
弗莱德
2011-04-21T11:34:34.234-04:00
2011-04-21 11:22:44
它进入Excel没有问题,但无论我做什么,我都无法更改电子表格中UpdateTime或UpdateTimeStr列的格式。Excel似乎拒绝将此数据识别为datetime字段


我有一种感觉,它无法确定该字段是日期和时间,因此我添加了一个名为UpdateTimeStr的字段,该字段的时间格式符合我希望Excel能够理解的方式,但是,唉,不行。有什么想法吗?

一种解决方案是使用Excel中的公式重用从XML导入的文本数据。例如,您可以编写一个公式,如:“=D2+0”(D2将是存储UpdateTimeStr的单元格),以获取UpdateTimeStr值的数值表示形式(例如:40654.47399)。然后,您可以按自己喜欢的方式将该数值格式化为日期

您可以在单独的列中执行此小技巧,以计算整个UpdateTimeStr列的所有数值表示。然后格式化此新列(使用数字),并将其粘贴到原始UpdateTimeStr列上

我希望这对你有帮助