Betten Sie Google Spreadsheet in Google Document ein

82

Ist es möglich, eine Google-Tabelle in ein Google-Dokument à la Microsoft Excel und Microsoft Word einzubetten? Wie wäre es mit einem Diagramm aus einer Tabelle?

Ale
quelle
1
Sie können ein Diagramm aus Ihren Arbeitsblättern kopieren und in ein Dokument einfügen. Kein Glück beim Versuch, die Tabelle selbst einzubetten. Ich habe dies als Funktionsanforderung in der Google-Gruppe für Dokumente eingereicht.
mikeschuld

Antworten:

24

Ab heute (20.05.2016) bietet Google die Möglichkeit, ein Diagramm aus einer Google-Tabelle in ein Google-Dokument einzubetten. Zu diesem Zeitpunkt stellen zwei meiner drei Google-Konten die Option im InsertMenü zur Verfügung. Unter Insert→Chartdem Insert→Drawing…Element befindet sich ein neues Untermenü .

Wenn Sie solche Diagramme einfügen, bleiben sie mit der ursprünglichen Tabelle verknüpft. Wenn Sie nur Tabellendaten benötigen, gibt es einen Tabellendiagrammtyp, mit dem Sie Ihre Daten als einfache Tabelle darstellen können.

In dieser Phase gibt es einige Einschränkungen (z. B. in Bezug auf die Größe des Diagramms), und das Diagramm muss bereits in der Tabelle vorhanden sein, bevor Sie es einfügen können. Dies geht jedoch in die richtige Richtung.


Verwenden Sie zum Einfügen einer Tabelle oder eines Arbeitsblatts Hinzufügen einer Tabelle aus Google Sheets, indem Sie sie aus Sheets in Docs kopieren und die verknüpfte Option auswählen.

Das Diagramm wird nicht live aktualisiert, wenn Sie das Quell-Arbeitsblatt ändern, während Ihr Dokument geöffnet ist. Das Dokument erkennt jedoch Änderungen und zeigt über dem eingebetteten Arbeitsblatt die Schaltfläche Aktualisieren an, um die neuesten Änderungen in der Quelle wiederzugeben.

Jean-Rene Bouvier
quelle
Bedeutet dies, dass wenn die Tabelle eine Formel oder Gleichung verwendet, die sich automatisch ändert (z. B. basierend auf einem bestimmten Datum), diese auch nicht aktualisiert wird?
Erik Humphrey
Ich habe dies nicht getestet, aber ich vermute, dass Sie Ihre Tabelle öffnen müssen, um Ihr Diagramm zu aktualisieren, und dann akzeptieren müssen, um das Diagramm in den Dokumenten zu aktualisieren, in denen es eingebettet ist. Wenn Sie etwas anderes finden, lassen Sie es uns alle wissen.
Jean-Rene Bouvier
1
Ab heute kann man auch einen Tisch einbetten ; Da Ihre Antwort akzeptiert wird, möchten Sie diese neue Funktion möglicherweise bearbeiten.
1
Danke für die Information bezüglich. direkte Tabelleneinbettung. Zu diesem Zeitpunkt scheint die Funktion in meinem Google Apps for Work-Konto noch nicht zu funktionieren. Ich werde meinen Beitrag aktualisieren, sobald ich dies bemerke.
Jean-Rene Bouvier
@Michelle Ich habe es versucht und es scheint nicht möglich. Ich sehe keine Schaltfläche "Aktualisieren" in einer Tabelle, die aus einer Blattdatei kopiert wurde.
ADTC
32

AFAIK, Sie können nur aus der Tabelle kopieren und in das Textdokument einfügen. Die Tabelle wird als Tabelle eingefügt, ist jedoch nicht verknüpft. Wenn Sie etwas in der Tabelle ändern, wird dies nicht im Textdokument berücksichtigt.

Natürlich würde ich mich sehr gerne irren!

jfoucher
quelle
1
Leider scheint das an dieser Stelle meine einzige Option zu sein.
Ale
1
Siehe meine Antwort unten, es gibt jetzt eine neue Option, die dies ein bisschen freundlicher macht und für dynamische Updates sorgt.
Jean-Rene Bouvier
11

Hier ist eine skriptbasierte Lösung, mit der eine Tabelle mit Inhalten aus einem bestimmten Bereich in eine bestimmte Tabelle eingefügt werden kann. Ich habe nicht versucht, eine Möglichkeit zum Synchronisieren von Daten in Echtzeit zu finden, da dies angesichts des potenziell großen Datenvolumens, das bei jeder Bearbeitung in die Tabelle übertragen werden musste, nicht praktikabel erschien. Stattdessen fügt das Skript dem Dokument einen benutzerdefinierten Menüeintrag "Daten aktualisieren" hinzu.

Das Skript sollte an das Dokument gebunden sein (dh mit Extras> Skripteditor im Dokumentmenü erstellt werden). Die Tabellenkalkulations-URL sowie das zu verwendende Blatt und der zu verwendende Bereich werden im Skript angegeben. Ersetzen Sie .getRange(rangeName)durch, um alle Daten auf dem Blatt einzubetten .getDataRange().

Bei der ersten Ausführung der Funktion updateData wird die Tabelle am Ende des Dokuments angehängt. Bei nachfolgenden Durchläufen wird die Tabelle an der richtigen Stelle aktualisiert (dh, wenn nach der Tabelle weiterer Text hinzugefügt wird, bleibt die Reihenfolge erhalten).

Beachten Sie, dass das Ausschneiden und Einfügen der Tabelle den Aktualisierungsprozess unterbrechen würde (das Skript würde am Ende eine neue Tabelle hinzufügen), da die eingefügte Kopie ein neues Objekt ist. Kopieren Sie stattdessen den Text um die Tabelle.

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());
}

Technische Hinweise

  1. Es ist auch möglich, die Daten jede Stunde zusätzlich zu manuell zu synchronisieren. Fügen Sie einfach einen zeitbasierten Trigger aus dem Ressourcen-Menü des Skripteditors hinzu, damit die Funktion updateData ausgeführt wird.

  2. Man kann dieses Skript auch so anpassen, dass es stattdessen an das Quell-Arbeitsblatt gebunden wird. Dies würde Änderungen beim Öffnen des Dokuments erfordern (z. B. über die URL), ansonsten ist die Logik dieselbe.

  3. Der umständliche Teil des Skripts besteht darin, das Handle der vorhandenen Tabelle im Dokument abzurufen. Dazu muss es in einem benannten Bereich platziert werden. Es ist auch viel zweckmäßiger, das Tabellenelement vollständig zu ersetzen, als mit den Einträgen einer vorhandenen Tabelle herumzuspielen. Da ein benannter Bereich unveränderlich ist, wird er auch mit der darin enthaltenen Tabelle entfernt und dann zusammen mit der neuen Tabelle neu erstellt.


quelle
Funktioniert super. Gibt es eine Möglichkeit, Formatierungen zu erhalten (insbesondere Hintergrundfarben für Zellen)?
Cheshirekow
HINWEIS: Die "Tabellenkalkulations-URL" sollte anscheinend die vollständige URL enthalten, einschließlich des /edit#gid=0Materials am Ende.
Cheshirekow
Es gibt keine Möglichkeit, die Formatierung einer anderen Tabelle zu importieren.
Links werden auch nicht übertragen, ebenso wenig wie Farben. Gibt es eine Möglichkeit, dieses Skript so zu ändern, dass es die gesamte Formatierung enthält? Sehr clevere Arbeit um das Thema Ausschneiden-Einfügen, hat wie ein Zauber gewirkt!
Nicht verbunden
4

Ja, du kannst. Kopieren Sie den Inhalt eines Arbeitsblatts und fügen Sie ihn in Ihr Dokument ein. In der rechten Ecke werden Sie gefragt, ob Sie einen Link zum Arbeitsblatt erstellen möchten. In diesem Fall können Sie nach dem Bearbeiten der Tabelle auf das Aktualisierungssymbol in Ihren Dokumenten klicken, um die Änderungen in Ihr Dokument zu übernehmen.

Fisch-Monitor
quelle
Ab Anfang 2018 ist dies die beste Antwort für den Teil der Frage zum Einfügen einer Google Sheet-Tabelle in ein Google Doc.
dlukes
Und soweit ich das beurteilen kann, ist der Grund, warum ich diesen Thread gefunden habe, auf 400 Zellen begrenzt.
Trey,
3

Eine Alternative ist die Verwendung von Google Sites oder eines anderen Inhaltseditors, mit dem Iframes-Inhalte eingebettet werden können.

So binden Sie Google-Tabellen in eine Seite von Google Sites ein

  1. Erstellen Sie eine neue Site oder wechseln Sie zu einer vorhandenen Site.
  2. Erstellen Sie eine neue Seite oder klicken Sie auf Bearbeiten auf einer vorhandenen Seite.
  3. Klicken Sie auf Einfügen> Laufwerk> Tabelle
  4. Wählen Sie die Tabelle aus
  5. Stellen Sie die Optionen ein
  6. Klicken Sie auf Speichern
Rubén
quelle