Utilisation de XML dans Excel - Conseils Excel

Tout le monde dit que XML est la nouvelle fonctionnalité la plus importante d'Office 2003. Mais, à moins que vous ne soyez dans une entreprise avec des tonnes de schémas XML flottant, vous n'avez probablement pas été en mesure de trouver comment dupliquer cette démo cool. vu Microsoft lors du lancement d'Office 2003. Pour ceux d'entre vous qui s'abonnent à la newsletter de Woody, vous réalisez maintenant que Woody va sérialiser l'explication de XML, nous faisant attendre 4 semaines (ou plus) pour avoir toute l'histoire. Donc, avant que Woody ne puisse en arriver là, je vais vous présenter une longue astuce expliquant comment utiliser pleinement XML dans Office 2003.

La grande promesse

Microsoft dit que vous pouvez désormais stocker des données au format XML et réutiliser facilement les données. Ouvrez le même fichier de données et il a une apparence dans Excel, ouvrez le fichier de données et il a une autre apparence dans Word. C'est très puissant. Nous avons également le fait qu'Office 2003 considère XML comme un format de fichier natif, toute personne avec n'importe quel langage de programmation peut écrire des fichiers XML natifs. Si vous avez QBasic ou Rexx ou autre, vous pouvez maintenant créer des fichiers XML Excel (ExcelML?) À la volée.

Uniquement dans Excel Professional

Nous sommes maintenant confrontés à un système de classes dans Office 2003. Le support XML complet n'est pas disponible dans ces éditions: (Les codes en italique indiquent où vous pouvez acheter chacun: R = Retail, P = préinstallé avec un nouvel ordinateur, V = Volume-Licensing , A = Licence académique, S = Revendeurs scolaires).

  • Microsoft Office Small Business Edition 2003 (R, P, V, A)
  • Microsoft Office Standard Edition 2003 (R, V, A, S)
  • Microsoft Office Édition de base 2003 (P)
  • Microsoft Office Student and Teacher Edition 2003 (R, S)

Le support XML complet est disponible dans ces éditions:

  • Microsoft Office Professional Edition 2003 (R, P, V, A, S)
  • Microsoft Office Professional Enterprise Edition 2003 (inclut InfoPath) (V)
  • Microsoft Excel 2003 (R) (la boîte Excel autonome est considérée comme professionnelle)

Si vous n’avez pas la chance d’avoir l’une des versions «inférieures» d’Office 2003, la voie de mise à niveau la moins chère pourrait consister à acheter la version commerciale d’Excel. Sauf si vous travaillez dans un environnement d'entreprise, la seule façon d'obtenir InfoPath (le nouvel outil qui vous permet de créer des formulaires et des schémas XML) est d'acheter la version commerciale.

Qu'est-ce que XML? Est-ce que c'est comme du HTML?

Exemple de données XML

XML signifie langage de balisage extensible. Si vous avez déjà regardé la vue "Afficher la source" d'une page Web dans le Bloc-notes, vous connaissez la structure de XML. Alors que HTML autorise certaines balises, comme TABLE, BODY, TR, TD, XML autorise toutes les balises. Vous pouvez créer n'importe quelle sorte de balise pour décrire vos données. Voici une capture d'écran de certaines données XML que j'ai tapées dans le bloc-notes:

Voici quelques règles simples sur XML:

  • Chaque bit de données doit commencer et se terminer par une balise identique: Données
  • Les noms de balises sont sensibles à la casse. et ne sont PAS des balises valides car la capitalisation de la balise de fin n'est pas la même que celle de la balise de début.
  • Le fichier XML doit commencer et se terminer par une balise racine. Il ne peut y avoir qu'une seule balise racine dans un fichier. Dans l'exemple ci-dessus, la balise racine est.
  • Vous pouvez avoir une balise vide - mettez la barre oblique à la fin de la balise au lieu du début:
  • Si vous imbriquez des balises, vous devez fermer la balise interne avant de fermer la balise externe. Bien que HTML autorise cette structure, cliquez sur Annuler, ce n'est pas valide en XML. les données fonctionneront, mais pas les données.

Soupe à l'alphabet: trois types de fichiers

Voici les trois fichiers que nous rencontrerons lors de l'utilisation de XML.

  • .XML est le fichier de données présenté ci-dessus
  • .XSD est une définition de schéma XML. C'est un dossier très important. Les relations de données sont définies ici. La validation des données est également définie ici. Pour effectuer la démonstration Microsoft, vous avez besoin d'un fichier de schéma XML. Alors que n'importe qui peut taper du XML dans le bloc-notes, nous avons besoin d'un schéma pour faire quelque chose de cool. Je vais vous montrer comment en créer un ci-dessous.
  • .XSL est un fichier XML StyleSheet Language - ceux-ci vous permettent de réutiliser les données d'un format à un autre.

De loin, le plus gros obstacle est de savoir comment créer le fichier de schéma. Vous pouvez ouvrir un fichier XML dans Excel, mais vous ne pouvez effectuer aucune transformation sans schéma. Heureusement, Excel créera un schéma par défaut pour vous, mais il n'est PAS évident de savoir comment utiliser le schéma. Passons en revue les étapes.

  1. Ouvrez un bloc-notes vide. Copiez ces données ci-dessous et collez-les dans le Bloc-notes. Enregistrez le fichier sous test.xml.

     ABC Co 123 Main Salem OH 44460 12345 100 10.50 YXZ Co 234 State Akron OH 44313 23456 10 20.50 
  2. Dans Excel, utilisez Fichier - Ouvrir. Si la zone "Fichiers de type:" est définie sur Tous les fichiers Microsoft Excel, vous verrez test.xml. Cliquez sur Ouvrir.
  3. La boîte de dialogue Open XML vous est d'abord présentée. Plus tard, nous voudrons utiliser le puissant volet Office Source XML, mais nous ne pouvons pas le faire tant que nous n'avons pas un schéma valide. Pour l'instant, choisissez d'ouvrir sous forme de liste XML.

    Boîte de dialogue Open XML
  4. Ensuite, nous obtenons la boîte d'information indiquant que le XML n'a pas de schéma. C'est un message fantastique - car Microsoft va maintenant créer un schéma pour vous à la volée.

    Message d'avertissement de schéma
  5. Voici nos données dans Excel. C'est plutôt cool. Ils activent la nouvelle fonctionnalité géniale de la liste Excel 2003 (raccourci habituel: Ctrl + L). Avec la fonction Liste activée, nous avons des filtres automatiques sur chaque colonne et une ligne d'astérisque de type Access pour ajouter de nouvelles données.

    Données XML dans la feuille de calcul Excel
  6. Maintenant - voici l'astuce non documentée. Un conseil au gourou XML d'Excel de Microsoft, Chad Rothschiller, pour nous avoir montré cette astuce. Démarrez Visual Basic Editor avec Alt + F11. Dans Visual Basic Editor, appuyez sur Ctrl + G pour ouvrir le volet immédiat. Dans le volet immédiat, saisissez:

    Print ActiveWorkbook.XmlMaps(1).Schemas(1).Xml
    Fenêtre immédiate dans VBE

    Vous vous souvenez du message du n ° 4? Microsoft a proposé de créer un schéma à la volée pour nous. Ce petit bout de code ci-dessus imprimera le schéma. Cliquez sur Entrée et le schéma s'imprimera dans le volet immédiat.

    Schéma dans le volet immédiat

    Ouvrez un bloc-notes vide, copiez les données de la fenêtre immédiate et collez-les dans le bloc-notes vide. Vous pouvez maintenant voir le schéma complet de notre jeu de données simple.

    Enregistrer le fichier de schéma

    Vous pouvez maintenant enregistrer le fichier du bloc-notes sous TodaysOrders.xsd

  7. Revenez à Excel et fermez le jeu de données de test.
  8. Depuis Excel, ouvrez à nouveau test.xml. Cette fois, indiquez que vous souhaitez utiliser le volet Office Source XML, puis cliquez sur OK dans la zone d'informations de schéma.

    Choisissez l'option d'ouverture de la source XML
  9. Vous obtenez maintenant une feuille de calcul vierge, mais le volet Source XML sur la droite répertorie tous les champs disponibles.

    Volet source XML
  10. Choisissez la liste déroulante Options et sélectionnez Aperçu des données pour voir un exemple de chaque élément dans le volet Office.

    Aperçu des données dans le volet des tâches
  11. Ajoutez un titre joliment formaté à votre feuille de calcul vierge. Faites glisser l'élément de commande client et déposez-le dans la cellule B6.

    Glisser-déposer un élément de données
  12. Si vous ne voyez pas la barre d'outils de la liste, choisissez Affichage - Barres d'outils - Liste pour afficher la barre d'outils.
  13. Dans la barre d'outils, sélectionnez Actualiser les données XML

    Bouton Actualiser les données XML
  14. Les exemples de données XML que nous avons tapés ci-dessus sont ajoutés à la feuille de calcul.

    Données XML de résultat sur la feuille de calcul
  15. Enregistrez le classeur en tant que fichier Excel standard, peut-être appelé OrderReport.xls

Actualisation quotidienne des données

Si vous pouvez faire en sorte que votre système commence à écrire des commandes quotidiennes chaque jour sur Test.XML, alors vous êtes prêt. Ouvrez OrderReport.xls, actualisez les données XML et vous obtiendrez chaque jour un rapport joliment formaté de vos commandes XML. C'est assez puissant - j'ai configuré le formatage une fois, ouvrez le fichier chaque jour, cliquez sur Actualiser et j'ai un rapport bien formaté avec les données de l'ensemble XML.

Actualiser les données XML quotidiennement

Utilisation d'Excel pour créer des données XML

Pouvons-nous utiliser Excel pour créer de nouvelles données XML? Maintenant que nous avons défini un schéma, oui nous pouvons! À notre feuille de calcul existante, nous pouvons demander à nos preneurs de commandes téléphoniques d'ajouter de nouvelles données au fichier Excel tout au long de la journée. À la fin de la journée, utilisez File - SaveAs. Choisissez d'enregistrer comme type: Données XML.

Enregistrer en tant que données XML

Confirmez la carte à utiliser:

Boîte de dialogue Exporter XML

Réutilisation des données dans Word

Maintenant que nous avons créé un schéma et des données, ouvrons les données dans Microsoft Word 2003. Après avoir ouvert TestAsData.xml dans Word 2003, nous obtenons la vue de données par défaut dans Word.

Ouvrir un fichier de données XML dans Microsoft Word

Vous pouvez formater ce document:

Format du document

Appuyez sur Ctrl + Maj + X pour désactiver les champs:

Désactiver les champs XML dans Word

Utilisation des vues XSL pour réutiliser des données

L'exemple ci-dessus utilisant le glisser-déposer ne crée pas réellement de transformation. Si vous créez des fichiers de transformation, vous pouvez facilement transformer les données XML en différentes vues dans Word. C'est là que le vrai pouvoir entre en jeu. Avant de vous montrer comment créer votre propre transformation, voyons comment Microsoft a configuré la démo dans le déploiement d'Office 2003.

Pour essayer ceci sur votre copie de Word 2003, téléchargez XML Sample Package. Le fichier zip contient:

  • Un fichier XML: SampleMemo.xml
  • Un schéma: Memo.xsd
  • Trois fichiers de transformation: elegant.xsl, professional.xsl, Contemporary.xsl

Suivez ces étapes:

  1. Boot Word 2003
  2. Dans le menu, sélectionnez Outils - Modèles et compléments…

    Modèles et compléments
  3. Cliquez sur l'onglet Schéma XML et sélectionnez Ajouter un schéma…

    Onglet Schéma XML
  4. Accédez à l'emplacement où vous avez décompressé les exemples de fichiers. Sélectionnez Memo.xsd et cliquez sur Ouvrir.

    Sélection d'un fichier XSD pour ajouter un schéma
  5. Dans la boîte de dialogue Paramètres du schéma, donnez au schéma un nom convivial dans la zone Alias. Peut-être quelque chose comme "Memo". Cliquez sur OK.

    Ajouter un alias au schéma

    À ce stade, Word connaît désormais le schéma de mémo. Ensuite, nous devons informer Word 2003 des transformations. Notez que Microsoft appelle ces «solutions».

  6. Vous devriez toujours être dans la boîte de dialogue Modèles et compléments. Cliquez sur Bibliothèque de schémas…

    Bibliothèque de schémas
  7. Dans la boîte de dialogue Bibliothèque de schémas, sélectionnez Mémo dans la zone de liste supérieure. Cela activera le bouton dans la partie inférieure de la boîte de dialogue pour "Ajouter une solution…".
  8. Cliquez sur le bouton Ajouter une solution.

    Ajout d'une solution
  9. Accédez au dossier contenant vos fichiers .xsl. Choisissez Contemporary.xsl et cliquez sur Ouvrir.

    Sélectionnez le fichier de transformation
  10. Dans la boîte de dialogue Paramètres de la solution, attribuez au fichier de transformation un nom convivial, tel que "Contemporain". Cliquez sur OK.

    Alias ​​du fichier de transformation
  11. Répétez les étapes 8 à 10 pour ajouter Elegant.xsl et Professional.xsl. Cliquez sur OK pour fermer la bibliothèque de schémas. Cliquez sur OK pour fermer les modèles et compléments.

    Finaliser la bibliothèque de schémas

    Lors de la démonstration de Microsoft, toutes ces 11 étapes ont été effectuées dans les coulisses. Le public est entré et nous avons regardé pendant qu'ils nous montraient ces étapes.

  12. Nous allons ouvrir SampleMemo.xml dans Word. Voici la vue du bloc-notes de ce fichier. Ce sont des données XML simples sans aucun formatage.

    Exemple de contenu de fichier de données XML
  13. À partir de Word, ouvrez SampleMemo.xml. Dans les coulisses, Microsoft analyse le fichier XML pour trouver qu'il s'agit de données à l'aide du schéma Memo. Il regarde dans la bibliothèque de schémas pour voir s'il y a une correspondance sur le schéma "mémo". Lorsqu'il y en a, il trouve toutes les solutions XSL que nous avons ajoutées. Comme nous en avons trois, Word en sélectionne un à afficher, puis nous propose les autres dans le volet Office Document XML. C'est vraiment incroyable.

    Voici le volet des vues de données XML:

    Volet Vues des données XML

    Voici la vue par défaut des données (c'est en utilisant le XL élégant).

    Vue par défaut des données

    Cliquez sur Données uniquement et vous obtenez uniquement les données sans mise en forme.

    Affichage des données uniquement

    Cliquez sur Contemporain, et quelques secondes plus tard, vous avez une vue formatée totalement différente des données:

    Vue formatée des données
  14. Vous pouvez afficher / masquer les balises XML violettes avec Ctrl + Maj + X.

    Afficher / masquer les balises XML

Création de vos propres fichiers de transformation XSL

Je peux voir la puissance. Mais jusqu'à présent, nous n'avons utilisé que des fichiers XSL téléchargés pour les données de quelqu'un d'autre. Nous avons vraiment besoin d'un moyen de créer un fichier XSL pour nos propres données. Encore une fois, si vous travaillez pour une entreprise riche en XML, quelqu'un a probablement déjà configuré ces transformations. Cependant, si vous êtes la première personne de votre entreprise à essayer les trucs XML, vous devez alors passer par la tâche relativement pénible de configurer vos propres fichiers de transformation.

Voici comment nous allons procéder. Tout d'abord, je vais créer un document sophistiqué dans Word qui montre comment je veux afficher les données XML. Je vais mettre des espaces réservés faciles à trouver là où je veux que les champs XML soient placés. Je vais enregistrer ce document au format Word XML. Ensuite, en utilisant le Bloc-notes, je vais éditer le document, coller du code XSL et enregistrer le fichier. Cela devrait créer un fichier de transformation XSL personnalisé.

  1. Dans Word, créez un exemple bien formaté. Ci-dessous, j'ai construit une confirmation de commande. Celui-ci a un logo, un texte d'introduction, les champs du fichier XML et un texte de clôture. J'ai utilisé différentes polices et couleurs. La convention d'utiliser *** pour mettre en évidence les champs est simplement de m'aider lorsque je regarde le fichier XML Word dans le Bloc-notes.

    Modèle dans Word
  2. Je vais enregistrer ce fichier au format Word XML.

    Enregistrement au format Word XML
  3. J'ouvrirai deux fenêtres de bloc-notes. L'un a Sales Order.xml et l'autre a un code de transformation elegant.xsl existant. (à suivre).

Articles intéressants...