SHEETS_DELETE - Deletar Linhas/Colunas do Google Sheets
O que é este Node?
O SHEETS_DELETE é o node responsável por remover linhas ou colunas inteiras do Google Sheets, incluindo dados e formatação.
Por que este Node existe?
Remover linhas/colunas completamente é necessário em manutenção de dados. O SHEETS_DELETE existe para:
- Remoção de Registros: Deletar linhas de dados obsoletos
- Limpeza de Estrutura: Remover colunas não utilizadas
- Manutenção: Limpar registros processados ou arquivados
- Otimização: Reduzir tamanho da planilha removendo dados antigos
Como funciona internamente?
Quando o SHEETS_DELETE é executado, o sistema:
- Autentica: Valida tokens OAuth2
- Identifica dimensão: Determina se é linha (ROW) ou coluna (COLUMN)
- Calcula índices: Converte range para índices (base 0)
- Executa batchUpdate: Chama com requisição deleteDimension
- Remove completamente: Apaga conteúdo E formatação
- Retorna confirmação: Informa sucesso da operação
Código interno (baseado na API Google Sheets):
case 'delete':
const deleteResult = await sheets.spreadsheets.batchUpdate({
spreadsheetId: data.spreadsheetId,
requestBody: {
requests: [{
deleteDimension: {
range: {
sheetId: data.sheetId,
dimension: data.dimension || 'ROWS', // ou 'COLUMNS'
startIndex: data.startIndex,
endIndex: data.endIndex,
},
},
}],
},
});
return {
success: true,
message: 'Dimension deleted successfully',
};
Quando você DEVE usar este Node?
Use SHEETS_DELETE quando precisar remover linhas ou colunas completamente:
Casos de uso
- Arquivar Processados: "Deletar pedidos já enviados"
- Limpeza Periódica: "Remover registros com mais de 90 dias"
- Correção de Estrutura: "Remover coluna duplicada"
- Dados Temporários: "Deletar linhas de teste após validação"
Quando NÃO usar SHEETS_DELETE
- Apenas limpar valores: Use NODE SHEETS_CLEAR (mantém estrutura)
- Atualizar dados: Use NODE SHEETS_UPDATE
- Ocultar linhas: Use operação de hide ao invés de delete
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| operation | string | Sim | Deve ser "delete" |
| spreadsheetId | string | Sim | ID da planilha |
| sheetId | number | Sim | ID da aba (Sheet) específica |
| dimension | string | Não | "ROWS" ou "COLUMNS" (padrão: ROWS) |
| startIndex | number | Sim | Índice inicial (base 0) |
| endIndex | number | Sim | Índice final (exclusivo, base 0) |
| accessToken | string | Sim | Token OAuth2 |
| refreshToken | string | Sim | Token OAuth2 refresh |
Exemplo 1: Deletar Pedidos Antigos
Objetivo: Remover pedidos processados há mais de 30 dias
JSON para Importar
{
"name": "Deletar Pedidos Antigos",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "sheets_read",
"type": "google_sheets",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Ler Pedidos",
"parameters": {
"operation": "read",
"spreadsheetId": "1Pedidos_XYZ",
"range": "Pedidos!A2:E100",
"accessToken": "{{google_access_token}}",
"refreshToken": "{{google_refresh_token}}"
}
}
},
{
"id": "condition_1",
"type": "condition",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Verificar Idade",
"parameters": {
"condition": "{{pedido_data}} < {{30_DAYS_AGO}}"
}
}
},
{
"id": "sheets_delete",
"type": "google_sheets",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Deletar Linha",
"parameters": {
"operation": "delete",
"spreadsheetId": "1Pedidos_XYZ",
"sheetId": 0,
"dimension": "ROWS",
"startIndex": 5,
"endIndex": 6,
"accessToken": "{{google_access_token}}",
"refreshToken": "{{google_refresh_token}}"
}
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 900, "y": 100 },
"data": {
"label": "Confirmar",
"parameters": {
"message": "✅ Pedidos antigos removidos"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 1100, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "sheets_read" },
{ "source": "sheets_read", "target": "condition_1" },
{ "source": "condition_1", "target": "sheets_delete", "label": "true" },
{ "source": "condition_1", "target": "message_1", "label": "false" },
{ "source": "sheets_delete", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Saída esperada:
Sistema: ✅ Pedidos antigos removidos
Resposta do Node
{
"success": true,
"message": "Dimension deleted successfully"
}
Boas Práticas
✅ SIM: - SEMPRE faça backup antes de deletar dados - Verifique sheetId correto (pode ser obtido da URL) - Use startIndex/endIndex cuidadosamente (base 0) - Considere arquivar antes de deletar
❌ NÃO: - Não delete sem confirmar range correto - Não confunda índice base 0 com número de linha visual - Não delete sem backup de dados críticos
Dicas
💡 Dica 1: startIndex é inclusivo, endIndex é exclusivo. Para deletar linha 5: startIndex=4, endIndex=5
💡 Dica 2: sheetId não é o nome da aba. Obtenha da URL: /edit#gid=SHEET_ID
💡 Dica 3: DELETE é irreversível. Sempre leia dados primeiro e valide antes de executar.
Próximo Node
→ SHEETS_CLEAR - Limpar sem deletar estrutura → SHEETS_READ - Ler antes de deletar