it-swarm-id.com

Sematkan Google Spreadsheet di Google Document

Mungkinkah menanamkan Google Spreadsheet ke dalam Dokumen Google à la Microsoft Excel dan Microsoft Word? Bagaimana dengan bagan dari Spreadsheet?

82
ale

Mulai hari ini (2016-05-20), Google mulai meluncurkan kemampuan untuk menanamkan bagan dari spreadsheet Google ke dalam dokumen Google. Pada titik ini, dua dari 3 akun Google saya membuat opsi tersedia di menu Insert, dengan submenu Insert→Chart baru di bawah item Insert→Drawing….

Saat Anda menyisipkan bagan tersebut, bagan itu tetap ditautkan ke spreadsheet asli. Jika semua yang Anda inginkan adalah data tabular, ada tipe bagan tabel yang bisa Anda gunakan untuk menyajikan data Anda sebagai tabel sederhana.

Ada beberapa batasan pada tahap ini (mis. Mengenai ukuran bagan) dan bagan harus sudah ada sebelumnya dalam spreadsheet sebelum Anda bisa memasukkannya, tetapi ini berjalan ke arah yang benar ...


Untuk menyisipkan spreadsheet atau tabel, gunakan Tambahkan tabel dari Google Sheets dengan menyalin-paste dari Sheets ke Docs dan pilih opsi yang ditautkan.

Bagan ini tidak diperbarui secara langsung jika Anda memodifikasi lembar sumber saat dokumen Anda dibuka, namun, dokumen akan mendeteksi perubahan dan memberi Anda Pembaruan tombol di atas spreadsheet tertanam untuk mencerminkan perubahan terbaru dalam sumber.

24

AFAIK, Anda hanya dapat menyalin dan menempel dari spreadsheet ke dokumen teks. Spreadsheet dimasukkan sebagai tabel, tetapi tidak ditautkan: jika Anda mengubah sesuatu dalam Spreadsheet, spreadsheet tidak akan tercermin dalam dokumen teks.

Tentu saja, saya benar-benar senang dibuktikan salah!

32
jfoucher

Berikut ini adalah solusi berbasis skrip yang memungkinkan seseorang untuk memasukkan tabel dengan konten dari rentang tertentu dalam spreadsheet yang diberikan. Saya tidak mencoba menemukan cara untuk menyinkronkan data secara real-time, karena tampaknya tidak praktis mengingat berpotensi volume data yang besar yang harus ditransfer dengan setiap pengeditan ke spreadsheet. Sebagai gantinya, skrip menambahkan item menu kustom "perbarui data" ke dokumen.

Skrip harus terikat ke dokumen (mis., Dibuat menggunakan Alat> Editor Skrip dalam menu dokumen). URL spreadsheet, serta lembar dan rentang untuk digunakan, ditentukan dalam skrip. Untuk menanamkan semua data pada lembar, ganti .getRange(rangeName) dengan .getDataRange().

Ketika fungsi updateData dijalankan pertama kali, itu menambahkan tabel di akhir dokumen. Pada proses selanjutnya, ini memperbarui tabel di tempat (mis., Jika lebih banyak teks ditambahkan setelah tabel, pesanan akan dipertahankan).

Perhatikan bahwa memotong-menempelkan tabel akan merusak proses pembaruan (skrip akan menambahkan tabel baru di akhir) karena salinan yang ditempelkan adalah objek baru. Alih-alih, tempel teks di sekitar tabel.

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

Catatan teknis

  1. Dimungkinkan juga untuk menyinkronkan data setiap jam, selain secara manual. Cukup tambahkan pemicu berbasis waktu dari menu Sumber Daya Script Editor, sehingga menjalankan fungsi updateData.

  2. Anda juga dapat mengadaptasi skrip ini untuk terikat ke spreadsheet sumber sebagai gantinya. Ini membutuhkan perubahan dalam cara dokumen dibuka (mis., Dengan URL), tetapi jika tidak demikian logikanya sama.

  3. Bagian rumit dari skrip adalah mendapatkan pegangan dari tabel yang ada di dokumen. Ini membutuhkan penempatannya dalam Jangkauan Bernama. Juga, jauh lebih bijaksana untuk sepenuhnya mengganti elemen tabel daripada mengacaukan entri tabel yang ada. Karena Kisaran Bernama tidak berubah, ia juga dihapus dengan tabel yang dikandungnya, dan kemudian dibuat lagi, bersama dengan tabel baru.

11
user79865

Ya kamu bisa. Salin konten selembar dan tempel di doc Anda, di sudut kanan akan menanyakan apakah Anda ingin menautkan ke spreadsheet. Jika ya, setelah mengedit spreadsheet, Anda dapat mengklik ikon pembaruan di dokumen Anda untuk memasukkan perubahan ke dokumen Anda.

4
Fish Monitor

Alternatifnya adalah dengan menggunakan Situs Google, atau editor konten lainnya yang memungkinkan penyisipan konten iframe.

Untuk menanamkan Google spreadsheet di halaman Situs Google

  1. Buat situs baru atau buka situs yang ada.
  2. Buat halaman baru atau klik Edit pada halaman yang ada.
  3. Klik Insert> Drive> Spreadsheet
  4. Pilih spreadsheet
  5. Tetapkan opsi
  6. Klik Simpan
3
Rubén