0

次のような XML を返す Web サービスがあります。

<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 は、このデータを日時フィールドとして認識することを拒否しているようです。

フィールドが日付と時刻であることを理解できないと感じたので、Excel が理解できるようにフォーマットされた時刻を持つ UpdateTimeStr というフィールドを追加しましたが、残念ながら、うまくいきませんでした。何か案は?

4

1 に答える 1

0

1 つの解決策は、Excel で数式を使用して、XML からインポートしたテキスト データを再利用することです。たとえば、"=D2+0" (D2 は UpdateTimeStr が格納されているセル) のような式を記述して、UpdateTimeStr 値の数値表現 (例: 40654.47399) を取得できます。その後、この数値を任意の方法で日付としてフォーマットできます。

この小さなトリックを別の列で実行して、UpdateTimeStr 列全体のすべての数値表現を計算できます。次に、この新しい列を (数字で) 書式設定し、元の UpdateTimeStr 列に貼り付けます。

これがお役に立てば幸いです。

于 2011-04-21T20:31:17.213 に答える