post #4804
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
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);
}

Para realizar o teste acima, você pode acessar o site: https://reqbin.com/
Publicações recomendadas:
Link Direto
Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link direto abaixo. Basta copiar.
bruno.art.br/?p=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.