La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam

je te le dirai voie rapide Création d'un fichier XML à partir de la table Excel!

Les documents XML sont une chose très forte et puissante. Utilisation d'un fichier XML, vous pouvez remplir les informations du site Web en quelques secondes! Après tout, dans tous les moteurs modernes (CMS), il existe une possibilité d'importer à partir du fichier HML. Alors qu'est-ce que moi.

Comme vous le savez, * .xls formats (* .xlsx dans l'Office 2007) sont Microsoft Office Excel Formats. 2003 Le bureau est revenu, il y a déjà 2010, mais je travaille pour 2007 et, par conséquent, je le dirai, en fonction de cela. Frappé!

1. Allez sur le site Web de Microsoft et téléchargez le complément pour fonctionner avec XML. Téléchargez l'add-in Excel 2003: complément des outils XML. Il ne pèse pas beaucoup, 397 Ko.



2. Installez-la sur votre ordinateur. Il n'y a rien de complexe dans l'installation. Par défaut, le complément est défini ici: C: \\ Echantillons de bureau \\ officeExcel2003xmltoolsadddin

3. Ouvrez maintenant Excel, allez au menu et sélectionnez l'élément Paramètres Excel.

4. Dans la fenêtre qui apparaît, à gauche, sélectionnez l'élément "Ajouter" et en bas de la fenêtre, cliquez sur le bouton "Go ..."

5. La nouvelle fenêtre s'ouvrira avant de vous, vous devez cliquer sur le bouton "Aperçu ...". Comme il a l'air, montré ci-dessous.

6. Vous devez maintenant trouver l'add-on xmlTools installé. Sélectionnez-le et cliquez sur OK!

7. Si vous avez tout fait tout de suite, vous verrez la fenêtre suivante! Cliquez audacieusement sur OK, l'installation est terminée!

8. Vous êtes apparu dans le menu supérieur. L'onglet Add-on et sur l'élément de gauche XML Outils.

Avec l'installation figurée et allez maintenant directement à la conversion (export) XLS dans XML.

1. Pour ce faire, ouvrez le fichier de données que vous souhaitez dépasser. Ensuite, sélectionnez le premier élément de la "gamme de convertir en une liste XML ..." Menu déroulant

2. Avant d'ouvrir une petite fenêtre, de quoi avez-vous besoin? Il y a des boutons radio, non et oui, à quoi servent-ils? Tout est simple si vous avez un titre sur les données (dans mon cas, c'est) choisissez Oui, et s'il n'y a pas, alors non. Cliquez ensuite sur un petit rectangle dans la chaîne supérieure.

3. Sélectionnez la zone de données convertie et cliquez sur le bouton à droite dans la fenêtre qui apparaît. Renvoie la fenêtre précédente dans laquelle nous cliquons sur OK.

4. Votre assiette devrait changer, vous pouvez dire à transformer, cela ressemble à ceci:

6. Dans la liste déroulante "Type de fichier", sélectionnez Données XML, cliquez sur "Enregistrer".

Je vous félicite, votre dossier est créé!

J'espère que tout a été indiqué en détail et compréhensible, mais si vous avez des questions, écrivez!

Lors du développement d'un système de gestion de documents électroniques, il était nécessaire de mettre en œuvre des fonctions d'exportation de données dans des formats populaires. En particulier, en format Microsoft Excel.. Les exigences d'exportation étaient assez simples - les données d'exportation avec un minimum de formatage, c'est-à-dire Pas de cellules combinées, jeux avec des polices, etc. Formats d'exportation XLSX et Excel XML..

Dans ce cas, je vais parler d'Excel XML.

Donc, dans n'importe quel système par des données de table d'exploitation, la nécessité d'exportations de données. Les objectifs d'exportation sont différents:

Implémenter dans la classe A jeu de fonctions pour enregistrer des cellules et des lignes - l'exigence de base qui implique la création de fonctions pour enregistrer les valeurs de cellule types spécifiés et la possibilité d'enregistrer une ligne finie au fichier.

La capacité de travailler avec des données illimitées est bien entendu, la classe d'exportation elle-même n'est pas en mesure de répondre au volume enregistrable, mais il doit fournir des fonctions pour enregistrer des données sur le disque et la libération. mémoire vive Pour la prochaine partie de données.

Outre les exigences décrites, vous devez ajouter des fonctions de service:

  • Allumer l'autofiltra
  • Fichier de compression dans Zip.

Ventes

Tout d'abord, lors de la création d'une classe, vérifiez le nom du fichier de fin et demandez le nombre de colonnes et de lignes. Le fichier doit avoir un nom correct et le dossier dans lequel il sera sauvegardé doit exister. Tout est comme d'habitude.
Le format Excel XML vous permet de sauvegarder des informations sur l'utilisateur dans le fichier, ce qui l'a créé lors de la création d'un titre, j'écris le nom de l'organisation, les informations de l'utilisateur et la date de la date de création.

Fonction publique ÉcroipertProperties ($ Organisation \u003d NULL, $ User \u003d NULL) (fwrite ($ ceci-\u003e fichier, " "); si (! is_null ($ utilisateur)) (fwrite ($ ceci-\u003e fichier" "$ Utilisateur-\u003e description.""); Fwrite ($ this-\u003e fichier" "$ Utilisateur-\u003e description."");) $ dt \u003d nouvelle datetime (); $ dt_string \u003d $ DT-\u003e format (" Y-M-D \\ TH: I: S \\ Z "); FLE ($ ceci-\u003e Fichier" "$ dt_string.""); Fwrite ($ this-\u003e fichier" "$ dt_string.""); si (! is_null ($ organisation)) fwrite ($ this-\u003e fichier" . "$ Organisation-\u003e nom.""); Fwrite ($ this-\u003e fichier" 12.00"); Fwrite ($ this-\u003e fichier""); }
TRUE, c'est dans cette fonction que les entités du système de gestion de documents sont utilisées - organisation et utilisateur (utilisateur). Remplacez ces entités sur, par exemple, des valeurs de chaîne, pas un problème.

Le plus intéressant dans le titre est des informations sur les styles. Dans le format Excel XML, ils sont implémentés très pratiques, alors créez simplement une table avec des styles pour les chaînes, les dates / temps et les hyperliens.

Fonction publique écrityle () (fwrite ($ ceci-\u003e fichier, ""); //default style fwrite($this->file, ""); // style DateTime style ($ ceci-\u003e fichier,""); Fwrite ($ this-\u003e fichier""); Fwrite ($ this-\u003e fichier""); // style hyperlien style ($ ceci-\u003e fichier,""); // gras fwrite ($ ceci-\u003e fichier""); Fwrite ($ this-\u003e fichier""); }

Travaux préparatoires terminés, vous pouvez passer à l'enregistrement de données. L'ouverture d'une feuille de travail n'est qu'une paire de tags, juste à ce stade, utilise des informations sur le nombre de colonnes et de lignes.

Fonction publique OpenWorksheth () (fwrite ($ ceci-\u003e fichier, " "); Fwrite ($ this-\u003e fichier, strtr ("

", tableau (" (col_count) "\u003d\u003e $ ceci-\u003e colcount," (Row_Count) "\u003d\u003e $ ceci-\u003e RowCount));););
Mais voici le record des rangs - le processus est plus intéressant. La classe devrait fonctionner rapidement et traiter une quantité illimitée de données, car les enregistrements peuvent être des milliers de cent ou même un million! Voulez des vitesses - Travaillez avec la mémoire, vous souhaitez une quantité illimitée de données - Travail avec un disque. Pour concilier les exigences, mises en œuvre des fonctions restreines et flushow.
Le premier - Efface la ligne actuelle, après quoi il peut être reconstitué à nouveau, et le second - écrit la ligne actuelle au fichier ouvert sur le disque. Leur partage vous permet de résister à l'équilibre entre la vitesse et la quantité de mémoire utilisée.

Fonction publique Résish () ($ Ceci-\u003e Currrentre \u003d Array ();) FLUSHROWE DE FONCTIONNEMENT PUBLIQUE () (FLEHRITE ($ CIS-\u003e Fichier, Implode ("", $ currrentre)); non défini ($ this-\u003e CouranteRow);)
Chaque cellule est enregistrée par la fonction du type de données correspondant, à savoir Appendcellxxx, où XXX est le type de données. Types de données valides: Num, chaîne, réelle, DateTime, date, heure, lien. Exemple de fonction pour enregistrer une valeur numérique:

Fonction publique Appendecellnum ($ valeur) ($ ceci-\u003e currrentrew \u003d " "$ Valeur.""; }
Après avoir enregistré toutes les données, il reste à fermer la feuille de travail et le classeur.

Application

L'utilisation de la classe décrite est basée sur l'exportation de données à l'aide du fournisseur CarrayDataProvider. Cependant, en supposant que le volume des données exportées puisse être très important, un itérateur spécial CDATAPROVIDADITERITORITORITORITORITORITÉ, qui passe par les données renvoyées sur 100 entrées (vous pouvez spécifier un nombre différent d'enregistrements).

Fonction publique ExportExcelXML ($ Organisation, $ Utilisateur et Nom de fichier $) ($ CIS -\u003e _ Fournisseur \u003d Nouveau CarraydataProvider (/ * Query * /); Yii :: Importation ("ext.alxdexportexcelxml.alxdexportexcelxml"); $ export \u003d nouveau alxdexportexcelxml ($ de nom de fichier, compte ($ ceci -\u003e _ attributs), $ ceci -\u003e _ fournisseur-\u003e gettotalitemcount () + 1); $ export-\u003e OpenWriter (); $ export-\u003e Openworkbook (); $ export-\u003e Writeocumentproperties ($ organisation, $ utilisateur); $ export-\u003e écriture (); $ export-\u003e openworksheet (openworksheet (); // ligne de titre $ export-\u003e restretrow (); $ export-\u003e openrow (vrais); foreach ($ ceci -\u003e _ attributes comme $ code \u003d\u003e $ format) $ export-\u003e APPENDCellstring ($ ceci -\u003e _ objectref-\u003e getattributelabel ($ code)); $ export-\u003e exportation-\u003e flushrowow (); / / Rangements de données $ Rows \u003d Nouveau CDAtaProviderAssator ($ CIS -\u003e _ FOURNISSEUR, 100); foreach ($ lignes en tant que $ rangée) ($ export-\u003e restretrow (); $ export-\u003e ceci -\u003e _ Attributs en tant que code $ \u003d\u003e $ Format) (Switch ($ format-\u003e Type) (cas "NUM": $ export-\u003e APPENDCELLNUM ($ code]); / * Autres types * / Défaut: $ export- \u003e Ajouter Cellstring (""); )) $ export-\u003e Clierorow (); $ Export-\u003e flushrow (); ) // Fermer toutes les $ Export-\u003e Fermer Trade (); $ Export-\u003e Fermerworkbook (); $ export-\u003e claNeewriter (); // fichier zip $ export-\u003e zip (); $ Nom de fichier \u003d $ export-\u003e getzipfullfilename (); )
Dans mon cas, chaque ligne est enregistrée sur le disque, qui est toujours tout à fait acceptable, mais à l'avenir peut nécessiter des changements. Par exemple, il sera raisonnable de ne pas maintenir toutes les rangées et chaque dixième, voire une centaine de rangées à la fois. Ensuite, la vitesse des exportations augmentera.

La vitesse

En passant, il était convaincu de sa propre expérience à quel point il est important d'assumer la possibilité de l'existence de grandes quantités de données dans une opération de lot, telles que les exportations.
Initialement, essayé d'exporter des données en utilisant

XML est l'un des formats les plus courants pour stocker les données et les échanger entre diverses applications. Microsoft Excel travaille également avec des données, la question de la conversion des fichiers de la norme XML vers des formats Excel est très pertinente. Découvrez comment faire cette procédure de différentes manières.

Les fichiers XML sont écrits dans une langue de balisage spéciale avec quelque chose de similaire aux pages Web HTML. Par conséquent, ces formats ont une structure assez similaire. Dans le même temps, Excel est principalement un programme comportant plusieurs formats "natifs". Le plus célèbre d'entre eux: Excel Book (XLSX) et Excel 97 - 2003 livre (XLS). Nous découvrons les principaux moyens de convertir des fichiers XML en ces formats.

Méthode 1: Fonctionnalité Excel intégrée

Le programme Excel fonctionne bien avec les fichiers de format XML. Il peut les ouvrir, changer, créer, enregistrer. Par conséquent, l'option la plus simple pour les tâches américaines est d'ouvrir cet objet et de l'enregistrer via l'interface d'application sous forme de documents XLSX ou XLS.


Sur cela, la procédure de conversion de fichier XML dans format Excel À travers l'interface de programme est terminée.

Méthode 2: Importation de données

La méthode décrite ne convient que pour les fichiers XML avec la structure la plus simple. Des tables plus complexes lorsque la conversion peut-elle être traduite de manière incorrecte. Mais il y a un autre outil Excel intégré qui aidera correctement les données. Il est situé dans "Menu Developer"qui est désactivé par défaut. Par conséquent, tout d'abord, il doit être activé.


Ainsi, la conversion dans la direction nécessaire pour nous sera faite avec la conversion maximale de données correcte.

Méthode 3: Convertisseur en ligne

Ces utilisateurs qui, pour une raison quelconque, ne sont pas installés sur l'ordinateur du programme Excel, mais ont besoin d'une transformation de fichier Urgente du format XML à Excel, vous pouvez utiliser l'un des nombreux services en ligne spécialisés pour la conversion. L'un des sites les plus pratiques de ce type est convertio.


Cette option peut servir de bonne politique de sécurité en cas d'augmentation de l'accès à outils standard Pour reformater dans cette direction.

Comme vous pouvez le constater, il existe des outils intégrés dans l'exal-même pour convertir un fichier de format XML en un des formats «natifs» de ce programme. Les instances les plus simples peuvent être facilement converties via la fonction habituelle "Enregistrer comme ...". Pour des documents avec une structure plus complexe, il existe une procédure de conversion séparée par les importations. Les utilisateurs qui, pour une raison quelconque, ne peuvent pas utiliser ces outils ont la possibilité de tâche à utiliser des services en ligne spécialisés pour convertir des fichiers.

Si vous souhaitez créer un fichier de données XML et le fichier de schéma XML de la plage de cellules de la feuille, vous pouvez utiliser la version 1.1 de l'outil XML pour Excel 2003 pour développer les fonctionnalités XML existantes dans les versions Microsoft Excel 2007 et ultérieures.

Noter: Cette superstructure a été conçue pour Excel 2003. Documentation et interface utilisateur Reportez-vous à la liste des listes, dans les versions de l'application ultérieurement Excel 2003, s'appelle des tables Excel.

Informations Complémentaires Pour travailler avec cette superstructure, voir l'article à l'aide de la version 1.1 "XML" pour Excel 2003.

Action 2. Conversion de la gamme de cellules dans la table XML

    Entrez les données pour lesquelles vous souhaitez créer le fichier de données XML et le fichier de schéma XML. Les données doivent être présentées dans un format tabulaire sous la forme de colonnes et de chaînes (appelées données régulières).

    Sur l'onglet Superstructure dans un groupe Commandes de menu Cliquez sur la flèche près de l'inscription Outils XML et cliquez sur Convertir la plage de la liste XML.

    Entrez la plage de cellules de données à convertir en tant que lien absolu dans la zone de texte.

    Dans le champ La première ligne contient des noms de colonne. Choisir PasSi la première ligne contient des données ou OuiSi la première ligne contient des en-têtes de colonne, puis cliquez sur d'accord.

    Excel créera automatiquement un schéma XML, vérifier les cellules sur le diagramme et créer une table XML.

    Important: Si Visual Basic Editor s'ouvre et que le message d'erreur Visual Basic for applications apparaît, procédez comme suit.

    1. appuie sur le bouton d'accord.

      Dans la ligne mise en surbrillance du module de code VBA, supprimez de la chaîne "50". En d'autres termes, changer:
      Xmldoc comme msxml2 . Domdocument50.
      À qui:
      Xmldoc comme msxml2. Domestique

      Appuyez sur la touche F5 pour rechercher la ligne suivante contenant le texte "xmldoc comme msxml2.domdocument50", cliquez sur d'accord Et changer la chaîne comme dans le paragraphe précédent.

      Appuyez à nouveau sur F5 pour trouver et modifier d'autres instances de course.

      Si, après avoir appuyé sur la touche F5, le message d'erreur VBA n'est plus affiché, fermez l'éditeur Visual Basic pour revenir au livre. La gamme de cellules sera convertie en une table XML.

      Noter: Pour afficher toutes les cartes XML dans le livre, sur l'onglet Développeur dans un groupe XML appuie sur le bouton Une source Pour afficher la zone de tâche "source XML". Au bas de la zone de tâche "Source XML", cliquez sur Cartes XML.

      Si l'onglet Développeur Non visible, suivez les trois premières étapes spécifiées dans la section suivante pour l'ajouter à la bande Excel.

Action 3. Exporter la table XML sur les données XML (XML)

Noter: Lors de la création de cartes XML et d'exporter des données pour exceller vers des fichiers XML, il existe une limite sur le nombre de lignes pouvant être exportées. Lors de l'exportation vers un fichier XML d'Excel, vous pouvez enregistrer jusqu'à 65 536 lignes. Si le fichier contient plus de 65 536 lignes, Excel pourra exporter uniquement les premières lignes (le nombre de lignes MOD 65 537). Par exemple, si la feuille contient 70 000 lignes, Excel exporte 4464 lignes (70 000 modes 65 537). Nous vous recommandons de suivre l'un des conseils suivants: 1) Utilisez le format XLSX; 2) enregistrer le fichier dans le format "Tableau XML 2003 (* .xml)" (la comparaison sera perdue); 3) Supprimez toutes les lignes après 65 536, puis exportez à nouveau (lorsque le mappage est enregistré, mais les lignes seront perdues à la fin du fichier).

Xml est format universel Travailler avec des données. Il soutient de nombreux programmes, y compris de la sphère DBMS. Par conséquent, la conversion des informations dans XML est importante du point de vue de l'interaction et de l'échange de données entre diverses applications. Excel est juste parmi les programmes qui fonctionnent avec des tables et peuvent même effectuer des manipulations avec des bases de données. Nous allons comprendre comment convertir des fichiers Excel en XML.

Conversion de données B. format XML Pas un processus aussi simple, car dans son cours, le schéma spécial devrait être créé (schema.xml). Cependant, pour convertir les informations dans le fichier le plus simple ce format Il suffit d'avoir des outils de conservation normaux à portée de main, mais de créer un élément bien structuré devra être soigné de manière approfondie de la compilation du circuit et de sa connexion au document.

Méthode 1: Économie simple

Dans Excel, vous pouvez enregistrer des données au format XML, en utilisant simplement le menu. "Enregistrer sous…". Vrai, rien ne garantit que tous les programmes fonctionneront correctement avec le fichier créé de cette manière. Oui, et pas dans tous les cas, cette méthode fonctionne.


Ainsi, la transformation du fichier du format Excel dans XML sera effectuée.

Méthode 2: Outils de développement

Vous pouvez convertir le format Excel dans XML à l'aide des outils de développement de l'onglet Programme. Dans le même temps, si l'utilisateur effectue tout correctement, alors à la sortie, il recevra, contrairement à la manière précédente, un fichier XML complet qui sera perçu correctement applications tierces. Mais il faut immédiatement dire que chaque nouveau venu peut avoir suffisamment de connaissances et de compétences apprendra immédiatement à convertir des données de cette manière.

  1. Par défaut, l'onglet Outil du développeur est désactivé. Par conséquent, tout d'abord, vous devez l'activer. Aller à l'onglet "Déposer" et cliquez sur l'élément "Paramètres".
  2. Dans la fenêtre ouverte des paramètres, passez à la sous-section "SETUP SETUP". Dans le côté droit de la fenêtre, nous avons mis une tique près de la valeur. "Développeur". Après cela, nous cliquons sur le bouton D'accordplacé dans la partie inférieure de la fenêtre. L'onglet Outil du développeur est maintenant activé.
  3. Suivant, ouvert table excel Dans le programme de toute manière commode.
  4. Sur sa base, nous devons créer un schéma formé dans n'importe quel éditeur de texte. À ces fins, vous pouvez utiliser l'habituel Windows pour ordinateur portableMais il est préférable d'appliquer une demande spécialisée de programmation et de travail avec NotePad ++ Markup langues. Exécutez ce programme. Créer un schéma dedans. Sur notre exemple, il ressemblera, comme indiqué en bas dans la capture d'écran de la fenêtre Notepad ++.

    Comme on voit, l'étiquette d'ouverture et de fermeture du document dans son ensemble dessert "Base de données". Dans le même rôle pour chaque ligne dépasse la balise "Enregistrer". Pour le régime, ce sera suffisant si nous ne prenons que deux rangées de la table et nous ne le traduirons pas manuellement en XML. Le nom de la colonne d'ouverture et de fermeture de fermeture peut être arbitraire, mais dans ce cas, de commodité, nous avons préféré simplement traduire les enceintes russophones à anglais. Une fois les données effectuées, enregistrez-les simplement via la fonctionnalité. éditeur de texte n'importe où sur le disque dur au format XML appelé "Schéma".

  5. Encore une fois, allez au programme Excel avec la table déjà ouverte. Passer dans l'onglet "Développeur". Sur le ruban dans le bloc d'outils "XML" Cliquez sur le bouton "Une source". Dans le champ qui s'ouvre dans le côté gauche de la fenêtre, nous cliquons sur le bouton. "Cartes XML ...".
  6. Dans la fenêtre qui s'ouvre, cliquez sur le bouton. "Ajouter ...".
  7. Une fenêtre de sélection de source est lancée. Accédez au répertoire de localisation du schéma préparé précédemment, choisissez-le et cliquez sur le bouton "Ouvert".
  8. Une fois que les éléments de régime sont apparus dans la fenêtre, faites-les glisser à l'aide du curseur sur les cellules correspondantes des noms de colonne de table.
  9. Cliquez avec le bouton droit sur la table résultante. DANS menu contextuel Passer systématiquement à travers des objets "XML" et "Exportation…". Après cela, enregistrez le fichier dans n'importe quel répertoire.

Comme vous pouvez le constater, il existe deux façons principales de convertir des fichiers XLS et XLSX au format XML. programme Microsoft Exceller. Le premier est extrêmement simple et consiste dans la procédure élémentaire pour économiser avec une expansion donnée à travers la fonction "Enregistrer sous…". Facile et plus clair cette optionSans aucun doute, sont des avantages. Mais il a un inconvénient très grave. La transformation est effectuée sans tenir compte de certaines normes et donc le fichier convertible par cette méthode, des applications tierces peuvent simplement ne pas être reconnues. La deuxième option implique la compilation de la carte XML. Contrairement à la première méthode, la table, convertie en fonction de ce schéma, répondra à toutes les normes de qualité XML. Mais, malheureusement, tous les utilisateurs ne seront pas en mesure de traiter rapidement les nuances de cette procédure.

La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam