Вставити електронну таблицю Google у документ Google


82

Чи можливо вбудувати електронну таблицю Google в документ Google à la Microsoft Excel та Microsoft Word? Як щодо діаграми з електронної таблиці?


1
Ви можете скопіювати та вставити діаграму зі своїх електронних таблиць у документ. Не пощастило спробувати вбудувати саму електронну таблицю. Я подав це як запит на функцію в групі Google для документів.
mikeschuld

Відповіді:


24

З сьогоднішнього дня (2016-05-20) Google починає впроваджувати можливість вбудовувати діаграму з електронної таблиці Google у документ Google. На даний момент два з моїх 3 облікових запису Google роблять опцію доступною в Insertменю з новим Insert→Chartпідменю під Insert→Drawing…пунктом.

Коли ви вставляєте такі діаграми, вони залишаються пов'язаними з оригінальною електронною таблицею. Якщо все, що вам потрібно, це табличні дані, є тип таблиці таблиці, який ви можете використовувати для подання своїх даних у вигляді простої таблиці.

На цьому етапі є деякі обмеження (наприклад, щодо розміру діаграми), і діаграма повинна існувати в електронній таблиці, перш ніж ви зможете вставити її, але це відбувається в правильному напрямку ...


Щоб вставити електронну таблицю або таблицю, використовуйте Додати таблицю з Google Таблиць , скопіювавши її з "Аркуші" в "Документи" і виберіть пов'язаний варіант.

Діаграма не оновлюється в прямому ефірі, якщо ви змінюєте електронну таблицю під час відкриття документа, однак документ виявить зміни та надасть вам кнопку Оновити над вбудованою електронною таблицею, щоб відобразити останні зміни в джерелі.


Чи означає це, що якщо електронна таблиця використовує формулу або рівняння, яке автоматично змінюється (наприклад, на основі певної дати), воно також не оновиться?
Ерік Хамфрі

Я цього не перевіряв, але підозрюю, що ви повинні відкрити свою електронну таблицю для оновлення діаграми, а потім прийняти оновити діаграму в документах, які її вбудовують. Якщо ви виявите інше, повідомте нас про це.
Жан-Рене Був'є

1
Починаючи з сьогоднішнього дня, можна також вставити стіл ; оскільки ваша відповідь прийнята, ви можете відредагувати цю нову функцію.

1
Дякую за інформацію повторно. пряме вбудовування столу. На цьому етапі, схоже, ця функція ще не працює в моєму акаунті Google Apps for Work. Я оновлю свою посаду, як тільки помічу це.
Жан-Рене Був'є

@Michelle Я спробував, і це не здається можливим. Я не бачу жодної кнопки "Оновити" на таблиці, скопійованої з файлу "Таблиці".
ADTC

32

AFAIK, ви можете скопіювати та вставити з електронної таблиці лише текстовий документ. Електронна таблиця вставлена ​​у вигляді таблиці, але вони не пов'язані між собою: якщо щось змінити в електронній таблиці, воно не відобразиться в текстовому документі.

Звичайно, я б дуже хотів, щоб мене підтвердили неправильно!


1
На жаль, це є єдиним моїм варіантом на даний момент.
але

1
Дивіться мою відповідь нижче, зараз є новий варіант, який робить це трохи дружнішим і забезпечує динамічні оновлення.
Жан-Рене Був'є

11

Ось на основі сценарію рішення, яке дозволяє вставити таблицю із вмістом із заданого діапазону в межах заданої таблиці. Я не намагався знайти спосіб синхронізації даних у режимі реального часу, оскільки це не здавалося практичним, враховуючи потенційно великий обсяг даних, який потрібно було б перенести з кожним редагуванням у електронну таблицю. Натомість сценарій додає в документ спеціальний пункт меню "оновити дані".

Сценарій повинен бути прив’язаний до документа (тобто створений за допомогою інструментів> Редактор сценаріїв у меню документа). URL-адреса електронних таблиць, а також аркуш та діапазон для використання вказані в сценарії. Щоб вставити всі дані на аркуш, замініть .getRange(rangeName)на .getDataRange().

Коли функція updateData вперше виконується, вона додає таблицю в кінці документа. При наступних запусках він оновлює таблицю на місці (тобто, якщо після таблиці буде додано більше тексту, порядок буде збережено).

Зауважте, що вирізання вставки таблиці порушить процес оновлення (сценарій додасть нову таблицю в кінці), оскільки вставлена ​​копія є новим об'єктом. Замість цього виріжте текст навколо столу.

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

Технічні примітки

  1. Також можна синхронізувати дані щогодини, окрім ручного. Просто додайте часовий тригер із меню ресурсів редактора сценарію, щоб він запускав функцію updateData.

  2. Можна також адаптувати цей скрипт так, щоб він був прив’язаний до вихідної електронної таблиці. Це вимагатиме змін у способі відкриття документа (наприклад, за URL-адресою), але в іншому випадку логіка та сама.

  3. Складною частиною сценарію є отримання ручки існуючої таблиці в документі. Для цього потрібно розмістити його в іменованому діапазоні. Крім того, набагато доцільніше повністю замінити елемент таблиці, ніж возитися з записами існуючої таблиці. Оскільки названий діапазон є незмінним, його також видаляють разом із таблицею, яку він містить, а потім створюють знову разом з новою таблицею.


Чудово працює. Будь-який спосіб отримати форматування (зокрема кольори тла комірок)?
чеширків

ПРИМІТКА: "URL-адреса електронної таблиці", мабуть, повинна містити повну URL-адресу, включаючи дані /edit#gid=0в кінці.
чеширків

Немає можливості імпортувати форматування іншої електронної таблиці.

Посилання також не передаються, а також кольори. Чи є спосіб змінити цей скрипт, щоб він включав усі форматування? Дуже розумна робота над вирізанням проблеми, яка працювала як шарм!
unc0зв’язано

4

Так, ти можеш. Скопіюйте вміст аркуша та вставте його у свій документ, у правому куті він запитає, чи хочете ви зв’язатись з електронною таблицею. Якщо ви це зробите, після редагування електронної таблиці ви можете натиснути значок оновлення у своїх документах, щоб включити зміни до документа.


На початок 2018 року це найкраща відповідь на частину питання, що стосується вставки таблиці Google Sheet в Google Doc.
dlukes

Наскільки я можу сказати, причина, яку я знайшов цю нитку, полягає в тому, що вона обмежена 400 клітинками.
Трей

3

Альтернативою є використання веб-сайтів Google або будь-якого іншого редактора вмісту, який дозволяє вставляти контент ifraes.

Щоб вставити електронні таблиці Google на сторінку Google Sites

  1. Створіть новий сайт або перейдіть на існуючий.
  2. Створіть нову сторінку або натисніть Редагувати на існуючій сторінці.
  3. Клацніть на Вставити> Диск> Електронна таблиця
  4. Виберіть електронну таблицю
  5. Встановіть параметри
  6. Клацніть на Зберегти
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.