post

Inserindo Dados do Formulário Elementor Diretamente na Planilha do Google Sheet com Apps Scripts

Publicado em: 26/03/2024 / Atualizado em: 26/03/2024

Categorias: Apps ScriptsBlogGoogleGoogle SheetsJavaScript (JS)JS
function doPost(e) {
  // Obtém os parâmetros da requisição
  var parametros = e.parameter;
  var planilha = SpreadsheetApp.getActiveSpreadsheet();

  // Usa 'form_name' para determinar o nome da aba e remove 'form_name' e 'form_id' dos dados a serem inseridos
  var nomeAba = parametros.form_name;
  delete parametros.form_name;
  delete parametros.form_id;

  // Verifica se a aba existe e a cria, se necessário
  var aba = planilha.getSheetByName(nomeAba);
  if (!aba) {
    aba = planilha.insertSheet(nomeAba);
  }

  // Lê os cabeçalhos existentes ou cria uma nova linha de cabeçalho se a aba for nova
  var linhaCabecalho = aba.getRange(1, 1, 1, aba.getMaxColumns()).getValues()[0];
  var cabecalhosExistentes = linhaCabecalho.filter(function(c) { return c !== ""; });
  var colunaFinal = cabecalhosExistentes.length;
  var cabecalhosNovos = Object.keys(parametros);

  // Verifica se todos os cabeçalhos novos já existem, se não, adiciona-os
  cabecalhosNovos.forEach(function(cabecalho) {
    if (cabecalhosExistentes.indexOf(cabecalho) === -1) {
      colunaFinal += 1;
      aba.getRange(1, colunaFinal).setValue(cabecalho);
      cabecalhosExistentes.push(cabecalho); // Atualiza a lista de cabeçalhos existentes
    }
  });

  // Garante que o cabeçalho esteja em negrito
  aba.getRange(1, 1, 1, colunaFinal).setFontWeight("bold");

  // Mapeia os valores para inserir de acordo com a ordem atualizada dos cabeçalhos existentes
  var valoresInsercao = cabecalhosExistentes.map(function(cabecalho) {
    return parametros[cabecalho] || ""; // Retorna um valor vazio se o cabecalho não existir nos parâmetros
  });

  // Adiciona os valores na próxima linha disponível
  aba.appendRow(valoresInsercao);
}
Teste de Envio POST
Teste de Envio POST

Para realizar o teste acima, você pode acessar o site: https://reqbin.com/

Publicações recomendadas:


Inscreva-se em Nossa News:

Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Bruno Devs News


Link Curto para Compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/pb/4804

ID de Referência: 4804

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato


Comentários