web-dev-qa-db-fra.com

Comment exporter des données de drupal vers Excel?

J'ai hérité d'un site Drupal. J'ai besoin d'extraire les données de la page principale du site pour pouvoir les importer dans un système différent, mais je n'ai jamais utilisé Drupal et le site est en ligne donc j'ai besoin de marcher avec précaution afin d'extraire les données sans affecter le site.

Actuellement, le site Web contient de nombreuses pages de contenu pour les fabricants. Chaque fabricant a un nom, une description, des images et d'autres données (principalement du texte). Disons, par exemple, qu'il y a 2000 de ces fabricants. Ce que j'aimerais vraiment pouvoir faire, c'est exporter un fichier Excel (ou un fichier XML, peu importe) pour que chaque champ ait une colonne différente dans la feuille de calcul, et chaque page drupal (c'est-à-dire chaque fabricant) est une ligne différente dans la feuille de calcul d'exportation. Idéalement, les images seront exportées sous forme d'URL complètes dans une colonne de la feuille de calcul.

Lorsque je me connecte à Drupal et que je clique sur le bouton "contenu" en haut, cela me donne une liste de toutes les pages du site. Je peux filtrer cela pour n'afficher que les pages "Fabricant". Lorsque Je modifie une page de fabricant spécifique, cela me donne un formulaire contenant tous les champs modifiables pour ce fabricant, préremplis avec les données à modifier. J'ai juste besoin de ces informations pour chaque fabricant, sous-évaluées dans une feuille de calcul.

Donc, comme un Drupal noob, par où commencer? Est-ce que je vais directement à la base de données et essayer de le reconstituer (si oui, les données sont-elles stockées dans une seule table) , ou y aura-t-il des requêtes majeures impliquées dans cette opération - des pointeurs sur les tables à consulter seraient grandement reçus) ou existe-t-il un outil pour obtenir une exportation en masse de ce genre de chose? Je suppose que je pourrais même créer un site Web page qui affiche ces informations dans un tableau HTML et les gratte à partir de là, mais idéalement une exportation serait Nice.

6
Dan

Vous avez de la chance! Il y a un module pour ça. (J'adore dire ça!)

  1. Vues Excel Export
  2. Vues

Il s'agit d'une extension pour le module Views, qui peut à peu près répertorier toutes les données de la base de données de Drupal; utilisateurs, contenu, commentaires et toute autre entité. Vous devrez installer le module Views puis installer le module Views Excel Export qui exportera la liste générée par Views vers un fichier Excel. Sans aucun code! Brillant n'est-ce pas?

Si vous avez besoin d'instructions sur la façon d'installer un module dans Drupal, vous pouvez suivre Installation des modules (Drupal 7) on Drupal.

7
Kimi

Il existe également une vue Exporter les données. Il prend en charge de nombreux formats de données, notamment Excel et CSV. Cela dépend également des vues. Il est conçu pour gérer des ensembles de données extrêmement volumineux en regroupant le processus d'exportation mais en produisant un fichier.

Affichage des données d'exportation

5
Queenvictoria

Une autre option à considérer pourrait être le module Forena , qui est également livré avec pas mal de documentation communautaire .

Forena est construit sur l'idée d'utiliser SQL pour extraire des données d'une base de données (qui peut être la base de données Drupal ou externe telle que My SQL, Oracle, MS SQL, ...) et utilisez XHTML et CSS pour le mettre en forme dans des rapports Web. Il y a pas mal de raisons de considérer Forena . Visitez la page Forena HowTos pour certains liens (en bas) vers certains liens de démonstration/vitrine en direct.

Tout rapport peut être enregistré (exporté) dans différents formats de fichiers, tels que CSV ou XLS. Pour ce faire, ajoutez simplement .csv en tant qu'extension de l'URL du rapport (sortie). Il contient l'équivalent CSV de ce rapport. À titre d'exemple, considérons l'exemple de rapport situé à /reports/sample.states (sur votre propre site, l'un des échantillons livrés avec Forena). Modifiez l'URL en /reports/sample.states.csv (= ajoutez simplement .csv) pour obtenir le même rapport dans .csv format. Si vous ajoutiez un tel .csv à l'URL du Tableau simple des états dans le site de démonstration , le résultat est comme ça ...

La même technique s'applique pour les autres extensions prises en charge (formats d'exportation), telles que l'ajout de .html, .xls (MS Excell), .pdf ou .doc (MS Word).

Soit dit en passant, tous les blocs de données sont également accessibles directement via leur URL, à condition que vous ayez la permission d'accéder à ce bloc. En voici quelques exemples, pour l'exemple de rapport situé à /reports/sample.states:

Pour faire court, pour répondre à cette réponse spécifique, j'écrirais les différents SQL (personnalisés) dont j'ai besoin, je les formaterais sous forme de rapports qui correspondent à mes besoins, puis je les enregistrerais simplement en XLS (ou CSV?).

Divulgation: je suis co-responsable de ce module,
J'espère que cela ne viole pas le site politique d'auto-promotion .

2
Pierre.Vriens