Mungkinkah menanamkan Google Spreadsheet ke dalam Dokumen Google à la Microsoft Excel dan Microsoft Word? Bagaimana dengan bagan dari Spreadsheet?
Mungkinkah menanamkan Google Spreadsheet ke dalam Dokumen Google à la Microsoft Excel dan Microsoft Word? Bagaimana dengan bagan dari Spreadsheet?
Jawaban:
Mulai hari ini (2016-05-20), Google mulai meluncurkan kemampuan untuk menyematkan bagan dari spreadsheet Google ke dalam dokumen Google. Pada titik ini, dua dari 3 akun Google saya membuat opsi tersedia di Insert
menu, dengan Insert→Chart
submenu baru di bawah Insert→Drawing…
item.
Saat Anda memasukkan bagan tersebut, mereka tetap tertaut ke lembar kerja 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 (misalnya mengenai ukuran bagan) dan bagan tersebut harus sudah ada sebelumnya dalam spreadsheet sebelum Anda dapat 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 spreadsheet sumber saat dokumen Anda dibuka, namun, dokumen akan mendeteksi perubahan dan memberi Anda tombol Pembaruan di atas spreadsheet yang disematkan untuk mencerminkan perubahan terbaru dalam sumber.
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!
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.
Script harus terikat ke dokumen (yaitu, 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 (yaitu, 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());
}
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.
Anda juga dapat mengadaptasi skrip ini untuk terikat ke spreadsheet sumber sebagai gantinya. Ini akan membutuhkan perubahan dalam cara dokumen dibuka (misalnya, dengan URL), tetapi jika tidak demikian logikanya sama.
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 dapat diubah, ia juga dihapus dengan tabel yang dikandungnya, dan kemudian dibuat lagi, bersama dengan tabel baru.
/edit#gid=0
hal - hal di bagian akhir.
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.
Alternatifnya adalah dengan menggunakan Situs Google, atau editor konten lainnya yang memungkinkan penyisipan konten iframe.
Untuk menanamkan Google spreadsheet di halaman Situs Google