Mappage XML dans Excel : relation non préservée

Bayn

XLDnaute Nouveau
Bonjour à tous,

Depuis quelques jours, j'apprends à utiliser le mappage XML dans Excel.
Mon souhait est de générer un fichier .XML sur base de données contenues dans un fichier Excel (que je rassemble sous forme de tableau par facilité).
J'ai créé un fichier .XSD (une découverte pour moi, également) afin de l'importer dans Excel et de mapper les cellules concernées par les variables déclarées dans le .XSD.

Je vais essayer de faire court, mais globalement j'ai identifié deux méthodes :

Utiliser des éléments de type "attributes" afin de générer une ligne par objet qui, elle-même, contient des "sous-objet".
Exemple : <objet_1 name="Name_OBJ_1" VAR_TYPE="TYPE" VAR_ENVIRONMENT="ENVIRON" VAR_AREA="73.5103"/>
  • Avantages : la structure (toutes les données dans une balise principale) est celle que je souhaite
  • Inconvenient(s): dans le .XSD, je dois visiblement (?) créer une déclaration d'objet et de sous-objet pour chacune des données dans le fichier Excel. Sachant que j'ai plus de 4000 données et que chaque cellule doit être mappée individuellement (et, qu'en plus, à la moindre modification du XSD il faut tout remapper dans Excel...), cette solution ne me parait pas du tout adaptée.


Ou utiliser des éléments de type "complexTypes" qui génèrent une balise par sous-objet, donc la structure du fichier .xml sera alourdie. Mais ça, dans un premier temps, je m'en fous.
Exemple :
<OBJET_TYPE>
<VAR_TYPE>TYPE</VAR_TYPE>
<VAR_VALUE>0.13751473372147</VAR_VALUE>
</OBJET_TYPE>
  • Avantages : Je peux mapper, en un seul "drag & drop", une colonne de données sur un objet dans le .XSD. A l'export, Excel me génère tout seul un ensemble de balise pour chaque donnée de l a colonne. La structure du fichier .XSD est allégée.
  • Inconvenient(s): Ce n'est pas la structure du .xml la plus adaptée, mais ce n'est pas encore trop grave.

Suite à cette petite analyse, et selon mes connaissances limitées, j'ai opté pour un schema de type "complexTypes".
Je fais malheureusement face à un drôle de problème : lors du mappage des colonnes de données dans Excel, je me vois contraint de laisser une colonne vide entre chaque colonne de données sans quoi Excel me renvoie l'erreur suivante lors de la validation de l'export des données :
"la relation d'un élément mappé avec d'autres éléments ne peut être préservée"

Donc, en résumé : deux colonnes côte à côte = l'erreur ci-dessus.
Une colonne de données mappées, une colonne vide, une seconde colonne de données mappées = pas d'erreur, je peux exporter.
Si je supprime la colonne vide, l'erreur n’apparaît pas et je peux exporter. Mais ce "chipotage" ne me plait pas.

Sur base de cette explication, est-ce que l'un ou l'une d'entre-vous aurait une idée, une suggestion, une critique à émettre ?

En bref : comment mapper des éléments de type "complexType" dans Excel sans faire en sorte qu'il ne considère deux colonnes successives ?

D'avance, merci à tous pour votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 025
Messages
2 084 749
Membres
102 652
dernier inscrit
Helpmeplz