Excel: données XML mappées et l'erreur "numéro enregistré en tant que text"

Un collègue de ma part a un document XML qu'elle ouvre dans Excel 2007, en utilisant "Obtenir des données externes / De l'import de données XML".

Excel mappe le XML vers les colonnes automatiquement. Cependant, certains éléments stockent des données numériques, que Excel refuse de traiter en tant que nombre:

<SOME_NUMBER>68.12</SOME_NUMBER> 

Au lieu de cela, la cellule affiche l'erreur "numéro enregistré en tant que text".

Actuellement, aucun schéma XML n'est attaché au document, et je voudrais éviter de créer un, si possible. Quelles sont les autres options?

PS: essayer différents parameters régionaux n'a pas réussi. Les données semblent toujours être considérées comme du text.

Je viens de voir cette (vieille) question et je pensais pouvoir répondre:

Lorsque vous dites «Actuellement, aucun schéma XML n'est attaché au document», vous n'êtes pas tout à fait correct. Il existe toujours un schéma XML bien que la plupart du time, implicitement créé par Excel. En extrayant et en adaptant ce schéma – ce n'est pas trop difficile – vous pourriez get le résultat le plus simple.

Un indice sur la façon de le faire (dans cet exemple, le problème était un champ de date): Exportation de XML à partir d'Excel et maintien du format de date

Je crois que le formatting de la cellule par défaut s'applique à la colonne complète, donc peut-être dans votre exemple quelques exemples de text ou de numéro de magasin, mais dans des quotas comme «1.5», de sorte que le formatting du text par défaut.

Lorsque j'ai testé l'import de données XML, il serait formater toutes les colonnes de text au text et les colonnes numériques en général

Bien, vous pouvez simplement sélectionner les cellules, cliquer avec le button droit, formater les cellules, Modifier le type de format à "Numéro"

MODIFIER

Utilisation de ce file XML de test

 <NODES> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>ASDF</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> </NODES> <A> <NODES> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>ASDF</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> </NODES> <A> <NODES> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>ASDF</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> </NODES> <A> <NODES> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>ASDF</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> <A> <B>1.23</B> <C>2.34</C> <D>3.45</D> <SOME_NUMBER>4.56</SOME_NUMBER> </A> </NODES> 

Toutes les colonnes apparaissent comme des nombres à l'exception des deuxièmes deux SOM_NUMBER à cause du text dans la colonne initiale

Donc, je sélectionne ces deux cellules, allume la boîte d'erreur (signe d'exclamation) et choisissez la deuxième option "Convertir en nombre"

La chose des cellules de format semble être un peu stupide en ce qu'elle n'appliquera pas le formatting à une cellule avec une erreur sur elle, jusqu'à ce que vous click la cellule

Je ressens votre peine, j'ai eu le même problème depuis des années. C'est la seule solution avec laquelle je suis venu.

 Function ConvertText2Num(RangeToConvert As Range) RangeToConvert.ClearFormats RangeToConvert.TextToColumns End Function