Incorporer Google Spreadsheet dans Google Document


82

Est-il possible d'incorporer une feuille de calcul Google dans un document Google à Microsoft Excel et Microsoft Word? Que diriez-vous d'un tableau à partir d'un tableur?


1
Vous pouvez copier et coller un graphique de vos feuilles de calcul dans un document. Pas de chance d'essayer d'intégrer la feuille de calcul elle-même. J'ai envoyé cette demande sous forme de demande de fonctionnalité sur le groupe Google pour les documents.
mikeschuld

Réponses:


24

À partir d’aujourd’hui (20/05/2016), Google commence à déployer la possibilité d’intégrer un graphique d’une feuille de calcul Google dans un document Google. À ce stade, deux de mes 3 comptes Google rendent l'option disponible dans le Insertmenu, avec un nouveau Insert→Chartsous-menu sous l' Insert→Drawing…élément.

Lorsque vous insérez de tels graphiques, ils restent liés à la feuille de calcul d'origine. Si vous ne souhaitez que des données tabulaires, vous pouvez utiliser un type de graphique sous forme de tableau pour présenter vos données sous forme de tableau simple.

Il existe certaines limitations à ce stade (par exemple en ce qui concerne la taille du graphique) et le graphique doit préexister dans la feuille de calcul avant de pouvoir l'insérer, mais cela va dans la bonne direction…


Pour insérer une feuille de calcul ou un tableau, utilisez la commande Ajouter une table à partir de Google Sheets en effectuant un copier-coller de Feuilles dans Docs et choisissez l'option liée.

Le graphique n'est pas mis à jour en direct si vous modifiez la feuille de calcul source pendant que votre document est ouvert. Toutefois, le document détectera les modifications et vous donnera un bouton Mettre à jour au-dessus de la feuille de calcul incorporée pour refléter les dernières modifications apportées à la source.


Cela signifie-t-il que si la feuille de calcul utilise une formule ou une équation qui change automatiquement (par exemple, en fonction d'une certaine date), elle ne sera pas mise à jour?
Erik Humphrey

Je n'ai pas testé cela, mais je suppose que vous devez ouvrir votre feuille de calcul pour actualiser votre graphique, puis accepter de mettre à jour le graphique dans les documents qui l'intègrent. Si vous trouvez le contraire, faites-le nous savoir.
Jean-René Bouvier

1
À partir d’aujourd’hui, on peut aussi intégrer une table ; étant donné que votre réponse est acceptée, vous pouvez modifier cette nouvelle fonctionnalité.

1
Merci pour l'information re. intégration directe à la table. À ce stade, la fonctionnalité ne semble pas encore fonctionner dans mon compte Google Apps for Work. Je mettrai à jour mon message dès que je le remarquerai.
Jean-René Bouvier

@ Michelle j'ai essayé et cela ne semble pas possible. Je ne vois aucun bouton "Mettre à jour" sur une table copiée à partir d'un fichier Sheets.
ADTC

32

Autant que je sache, vous pouvez uniquement copier et coller de la feuille de calcul vers le document texte. La feuille de calcul est insérée sous forme de tableau, mais ils ne sont pas liés: si vous modifiez quelque chose dans la feuille de calcul, cela ne sera pas reflété dans le document texte.

Bien sûr, j'aimerais vraiment avoir tort!


1
Malheureusement, cela semble ma seule option à ce stade.
ale

1
Voir ma réponse ci-dessous, il existe maintenant une nouvelle option qui le rend un peu plus convivial et fournit des mises à jour dynamiques.
Jean-René Bouvier

11

Voici une solution basée sur un script qui permet d’insérer un tableau avec le contenu d’une plage donnée dans une feuille de calcul donnée. Je n'ai pas essayé de trouver un moyen de synchroniser les données en temps réel, car cela ne semblait pas pratique compte tenu du volume potentiellement important de données à transférer à chaque édition dans le tableur. Au lieu de cela, le script ajoute un élément de menu personnalisé "Mettre à jour les données" au document.

Le script doit être lié au document (c.-à-d. Créé à l'aide de Outils> Editeur de script dans le menu du document). L'URL de la feuille de calcul, ainsi que la feuille et la plage à utiliser, sont spécifiés dans le script. Pour incorporer toutes les données sur la feuille, remplacez .getRange(rangeName)par .getDataRange().

Lorsque la fonction updateData est exécutée pour la première fois, elle ajoute la table à la fin du document. Lors des exécutions suivantes, la table est mise à jour (c.-à-d. Si davantage de texte est ajouté après la table, l'ordre sera préservé).

Notez que couper-coller de la table interromprait le processus de mise à jour (le script ajouterait une nouvelle table à la fin) car la copie collée est un nouvel objet. Au lieu de cela, copier-coller le texte autour de la table.

function onOpen() {
  DocumentApp.getUi()
             .createMenu('Custom')
             .addItem('Update Data', 'updateData')
             .addToUi();
}

function updateData() {
  var ssUrl = ' spreadsheet url here ';
  var sheetName = 'Sheet2';   // name of sheet to use
  var rangeName = 'A1:C3';    // range of values to include 

  var values = SpreadsheetApp.openByUrl(ssUrl)
                             .getSheetByName(sheetName)
                             .getRange(rangeName)
                             .getValues();
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var ranges = doc.getNamedRanges('embeddedSheet-range');
  if (ranges.length == 0) {
    var table = body.appendTable(values);
  }
  else {
    tableRange = ranges[0];
    table = tableRange.getRange().getRangeElements()[0].getElement();
    var ind = body.getChildIndex(table);
    tableRange.remove();
    body.removeChild(table);
    table = body.insertTable(ind, values);
  }
  var rangeBuilder = doc.newRange();
  rangeBuilder.addElement(table);
  doc.addNamedRange('embeddedSheet-range', rangeBuilder.build());
}

Notes techniques

  1. Il est également possible de synchroniser les données toutes les heures, en plus de manuellement. Ajoutez simplement un déclencheur temporel à partir du menu Ressources de l'éditeur de script, de sorte qu'il exécute la fonction updateData.

  2. On peut également adapter ce script pour qu'il soit lié à la feuille de calcul source. Cela nécessiterait des changements dans la manière dont le document est ouvert (par exemple, par URL), mais sinon, la logique est la même.

  3. La partie fastidieuse du script consiste à récupérer le handle de la table existante dans le document. Cela nécessite de le placer dans une plage nommée. En outre, il est beaucoup plus pratique de remplacer complètement l'élément de table que de modifier les entrées d'une table existante. Etant donné qu'une plage nommée est immuable, elle est également supprimée avec la table qu'elle contient, puis créée à nouveau avec la nouvelle table.


Fonctionne très bien. Un moyen d'obtenir le formatage (en particulier les couleurs d'arrière-plan de cellule)?
cheshirekow

REMARQUE: L'URL de la feuille de calcul doit apparemment contenir l'URL complète, y compris les /edit#gid=0éléments à la fin.
Cheshirekow

Il n'y a aucun moyen d'importer le formatage d'une autre feuille de calcul.

Les liens ne sont pas non plus transférés, pas plus que les couleurs. Est-il possible de modifier ce script pour inclure toute la mise en forme? Travail très astucieux autour du problème de la pâte coupée, a fonctionné à merveille!
unc0nnected

4

Oui, vous pouvez. Copiez le contenu d'une feuille et collez-la dans votre document. Dans le coin droit, il vous sera demandé si vous souhaitez créer un lien vers la feuille de calcul. Si vous le faites, après avoir modifié la feuille de calcul, vous pouvez cliquer sur l'icône de mise à jour dans vos documents pour intégrer les modifications à votre document.


Début 2018, c'est la meilleure réponse pour la partie de la question concernant l'insertion d'un tableau Google Sheet dans un Google Doc.
dlukes

Et autant que je sache, la raison pour laquelle j'ai trouvé ce fil est limité à 400 cellules.
Trey

3

Une autre solution consiste à utiliser Google Sites ou tout autre éditeur de contenu permettant l'incorporation de contenu iframes.

Pour intégrer des feuilles de calcul Google dans une page de Google Sites

  1. Créez un nouveau site ou accédez à un site existant.
  2. Créez une nouvelle page ou cliquez sur Modifier sur une page existante.
  3. Cliquez sur Insertion> Lecteur> Tableur.
  4. Sélectionnez la feuille de calcul
  5. Définir les options
  6. Cliquez sur Enregistrer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.