Incorporar planilha do Google no documento do Google

82

É possível incorporar uma planilha do Google em um documento do Google à Microsoft Excel e Microsoft Word? Que tal um gráfico de uma planilha?

cerveja
fonte
1
Você pode copiar e colar um gráfico de suas planilhas em um documento. Não há sorte em tentar incorporar a planilha em si. Enviei isso como uma solicitação de recurso no Google Group para documentos.
Mikechuld

Respostas:

24

A partir de hoje (20/05/2016), o Google começa a implementar a capacidade de incorporar um gráfico de uma planilha do Google em um documento do Google. Nesse momento, duas das minhas três contas do Google disponibilizam a opção no Insertmenu, com um novo Insert→Chartsubmenu abaixo do Insert→Drawing…item.

Quando você insere esses gráficos, eles permanecem vinculados à planilha original. Se tudo o que você deseja são dados tabulares, existe um tipo de gráfico de tabela que você pode usar para apresentar seus dados como uma tabela simples.

Existem algumas limitações nesta fase (por exemplo, em relação ao tamanho do gráfico) e o gráfico deve preexistir na planilha antes que você possa inseri-lo, mas isso está indo na direção certa…


Para inserir uma planilha ou tabela, use Adicionar uma tabela do Planilhas Google copiando e colando do Planilhas para o Documentos e escolha a opção vinculada.

O gráfico não será atualizado ao vivo se você modificar a planilha de origem enquanto o documento estiver aberto; no entanto, o documento detectará alterações e fornecerá um botão Atualizar acima da planilha incorporada para refletir as alterações mais recentes na origem.

Jean-Rene Bouvier
fonte
Isso significa que, se a planilha usar uma fórmula ou equação que muda automaticamente (por exemplo, com base em uma determinada data), ela também não será atualizada?
Erik Humphrey
Não testei isso, mas suspeito que você deve abrir sua planilha para atualizar seu gráfico e aceitar atualizá-lo nos documentos que o incorporam. Se você achar o contrário, informe-nos.
Jean-Rene Bouvier
1
A partir de hoje, também é possível incorporar uma mesa ; como sua resposta é aceita, convém editar esse novo recurso.
1
Obrigado pela informação re. incorporação direta de tabela. Nesta fase, o recurso ainda não parece funcionar na minha conta do Google Apps for Work. Vou atualizar minha postagem assim que perceber.
Jean-Rene Bouvier
@ Michelle tentei e não parece possível. Não vejo nenhum botão "Atualizar" em uma tabela que foi copiada de um arquivo do Planilhas.
ADTC
32

AFAIK, você só pode copiar e colar da planilha no documento de texto. A planilha é inserida como uma tabela, mas não está vinculada: se você alterar alguma coisa na planilha, ela não será refletida no documento de texto.

Claro, eu adoraria provar que estou errado!

jfoucher
fonte
1
Infelizmente, essa parece ser minha única opção neste momento.
ale
1
Veja minha resposta abaixo, agora há uma nova opção que torna isso um pouco mais amigável e fornece atualizações dinâmicas.
Jean-Rene Bouvier
11

Aqui está uma solução baseada em script que permite inserir uma tabela com o conteúdo de um determinado intervalo em uma determinada planilha. Não tentei encontrar uma maneira de sincronizar dados em tempo real, pois isso não parecia prático, dado o volume potencialmente grande de dados que precisariam ser transferidos a cada edição da planilha. Em vez disso, o script adiciona um item de menu personalizado "atualizar dados" ao documento.

O script deve estar vinculado ao documento (ou seja, criado usando Ferramentas> Editor de scripts no menu do documento). O URL da planilha, bem como a planilha e o intervalo a serem usados, são especificados no script. Para incorporar todos os dados na folha, substitua .getRange(rangeName)por .getDataRange().

Quando a função updateData é executada pela primeira vez, ela anexa a tabela no final do documento. Nas execuções subsequentes, ele atualiza a tabela (ou seja, se mais texto for adicionado após a tabela, a ordem será preservada).

Observe que recortar a tabela interromperia o processo de atualização (o script adicionaria uma nova tabela no final), pois a cópia colada é um novo objeto. Em vez disso, cole o texto em volta da mesa.

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

Notas técnicas

  1. Também é possível sincronizar os dados a cada hora, além de manualmente. Basta adicionar um gatilho baseado em tempo no menu Recursos do Editor de scripts, para que ele execute a função updateData.

  2. Também é possível adaptar esse script para ser vinculado à planilha de origem. Isso exigiria alterações na forma como o documento é aberto (por exemplo, por URL), mas, caso contrário, a lógica é a mesma.

  3. A parte complicada do script é obter o identificador da tabela existente no documento. Isso requer colocá-lo dentro de um intervalo nomeado. Além disso, é muito mais conveniente substituir completamente o elemento da tabela do que mexer com as entradas de uma tabela existente. Como um intervalo nomeado é imutável, ele também é removido com a tabela que contém e, em seguida, criado novamente, junto com a nova tabela.


fonte
Funciona bem. Alguma maneira de obter formatação (em particular as cores de fundo da célula)?
Cheshirekow #
NOTA: O "URL da planilha" deve conter aparentemente o URL completo, incluindo os /edit#gid=0itens no final.
Cheshirekow #
Não há como importar a formatação de outra planilha.
Os links também não estão sendo transferidos, nem as cores. Existe alguma maneira de modificar esse script para incluir toda a formatação? Solução muito inteligente para a questão de colar e colar, funcionou como um encanto!
unc0nnected 02/07/16
4

Sim você pode. Copie o conteúdo de uma planilha e cole-o no seu documento; no canto direito, ele perguntará se você deseja vincular à planilha. Se o fizer, depois de editar a planilha, você pode clicar no ícone de atualização nos seus documentos para incorporar as alterações ao seu documento.

Fish Monitor
fonte
No início de 2018, esta é a melhor resposta para a parte da pergunta referente à inserção de uma tabela da Planilha do Google em um Google Doc.
dlukes
E até onde eu sei, a razão pela qual encontrei esse segmento, é limitado a 400 células.
Trey
3

Uma alternativa é usar o Google Sites ou qualquer outro editor de conteúdo que permita a incorporação de conteúdo iframes.

Para incorporar planilhas do Google em uma página do Google Sites

  1. Crie um novo site ou acesse um site existente.
  2. Crie uma nova página ou clique em Editar em uma página existente.
  3. Clique em Inserir> Drive> Planilha
  4. Selecione a planilha
  5. Defina as opções
  6. Clique em Salvar
Rubén
fonte