Google Sheets
Integre com o Google Sheets para ler, escrever e gerenciar dados de planilhas.
Documentação
Servidor MCP Google Sheets
Um servidor Model Context Protocol (MCP) para integração com a API do Google Sheets. Permite ler, escrever e gerenciar documentos do Google Sheets diretamente do seu cliente MCP (ex.: Claude Code, Claude Desktop, Cursor, etc.).
Principais Recursos
- Integração Completa com o Google Sheets: Leia, escreva e gerencie planilhas
- Operações Avançadas: Operações em lote, formatação, gráficos e formatação condicional
- Autenticação Flexível: Suporte para credenciais baseadas em arquivo e em strings JSON
- Pronto para Produção: Construído com TypeScript, tratamento abrangente de erros e cobertura completa de testes
Requisitos
- Node.js v20 ou superior
- Projeto Google Cloud com a API Sheets habilitada
- Conta de serviço com arquivo de chave JSON
- npm
Começando
Instalação Rápida (Recomendado)
Adicione a seguinte configuração ao seu cliente MCP:
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
[!NOTE] Usar
mcp-gsheets@latestgarante que seu cliente MCP sempre utilize a versão mais recente do servidor MCP Google Sheets.
Configuração do Cliente MCP
Claude Code
Use a CLI do Claude Code para adicionar o servidor MCP Google Sheets (guia):claude mcp add mcp-gsheets npx mcp-gsheets@latest
Após adicionar, edite a configuração do Claude Code para incluir as variáveis de ambiente necessárias:
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
Claude Desktop
Adicione à configuração do Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
Cursor
Vá para Cursor Settings → MCP → New MCP Server. Use a configuração fornecida acima.
Cline
Siga https://docs.cline.bot/mcp/configuring-mcp-servers e use a configuração fornecida acima.
Outros Clientes MCP
Para outros clientes MCP, use o formato de configuração padrão mostrado acima. Certifique-se de que command esteja definido como npx e inclua as variáveis de ambiente para autenticação do Google Cloud.
Configuração do Google Cloud
- Acesse o Console do Google Cloud
- Crie um novo projeto ou selecione um existente
- Habilite a API do Google Sheets:
- Navegue até "APIs & Services" → "Library"
- Pesquise por "Google Sheets API" e clique em "Enable"
- Crie a Conta de Serviço:
- Vá para "APIs & Services" → "Credentials"
- Clique em "Create Credentials" → "Service Account"
- Na lista de contas de serviço, clique nos três pontos na coluna
Actions→Manage keys→Add key→Create new key→ selecione o formato JSON - Baixe o arquivo de chave JSON
- Compartilhe suas planilhas:
- Abra sua planilha do Google
- Clique em Compartilhar e adicione o e-mail da conta de serviço (do arquivo JSON)
- Conceda permissões de "Editor"
Métodos Alternativos de Autenticação
Opção 1: Autenticação por String JSON
Em vez de usar um caminho de arquivo para as credenciais, você pode fornecer as credenciais da conta de serviço diretamente como uma string JSON. Isso é útil para ambientes conteinerizados, pipelines de CI/CD ou quando você deseja evitar o gerenciamento de arquivos de credenciais.
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_SERVICE_ACCOUNT_KEY": "{\"type\":\"service_account\",\"project_id\":\"your-project\",\"private_key_id\":\"...\",\"private_key\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n\",\"client_email\":\"...@....iam.gserviceaccount.com\",\"client_id\":\"...\",\"auth_uri\":\"https://accounts.google.com/o/oauth2/auth\",\"token_uri\":\"https://oauth2.googleapis.com/token\",\"auth_provider_x509_cert_url\":\"https://www.googleapis.com/oauth2/v1/certs\",\"client_x509_cert_url\":\"...\"}"
}
}
}
}
Observação: Ao usar GOOGLE_SERVICE_ACCOUNT_KEY:
- Todo o JSON deve estar em uma única linha
- Todas as aspas devem ser escapadas com barras invertidas
- Quebras de linha na chave privada devem ser representadas como
\\n - Se o JSON incluir um
project_id, você pode omitirGOOGLE_PROJECT_ID
Opção 2: Autenticação por Chave Privada (Simplificada)
Para a abordagem mais amigável, você pode fornecer apenas a chave privada e o e-mail diretamente. Este é o método mais simples e requer apenas dois campos do JSON da sua conta de serviço:
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgR6bvMNOUHZ29\\n+YgbVHAXsT/s+L/jnXTCB193zikCzspSBSfxLu8VRDjkNq9WUoDxizTATzMFNvNf\\n...\\n-----END PRIVATE KEY-----\\n",
"GOOGLE_CLIENT_EMAIL": "spreadsheet@your-project.iam.gserviceaccount.com"
}
}
}
}
Observação: Ao usar GOOGLE_PRIVATE_KEY:
- Quebras de linha na chave privada devem ser representadas como
\\n - A chave privada deve incluir os marcadores
-----BEGIN PRIVATE KEY-----e-----END PRIVATE KEY----- - O e-mail do cliente deve ser o e-mail da conta de serviço do seu arquivo JSON
GOOGLE_PROJECT_IDé opcional ao usar este método
Configuração de Desenvolvimento Local
Se você deseja desenvolver ou contribuir com este projeto, pode clonar e compilar localmente:
# Clone the repository
git clone https://github.com/freema/mcp-gsheets.git
cd mcp-gsheets
# Install dependencies
npm install
# Build the project
npm run build
Script de Configuração Interativo
Execute o script de configuração interativo para configurar seu cliente MCP local:
npm run setup
Isso irá:
- Guiá-lo pela configuração
- Detectar automaticamente sua instalação do Node.js (incluindo nvm)
- Encontrar a configuração do Claude Desktop
- Criar a configuração JSON adequada
- Opcionalmente, criar um arquivo .env para desenvolvimento
Configuração Manual Local
Se você preferir configuração manual com uma compilação local, adicione à configuração do seu cliente MCP:
{
"mcpServers": {
"mcp-gsheets": {
"command": "node",
"args": ["/absolute/path/to/mcp-gsheets/dist/index.js"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
📦 Compilação e Desenvolvimento
Comandos de Desenvolvimento
# Development mode with hot reload
npm run dev
# Build for production
npm run build
# Type checking
npm run typecheck
# Clean build artifacts
npm run clean
# Run MCP inspector for debugging
npm run inspector
# Run MCP inspector in development mode
npm run inspector:dev
Executor de Tarefas (Alternativa)
Se você tiver o Task instalado:
# Install dependencies
task install
# Build the project
task build
# Run in development mode
task dev
# Run linter
task lint
# Format code
task fmt
# Run all checks
task check
Configuração de Desenvolvimento
- Crie o arquivo
.envpara teste:
cp .env.example .env
# Edit .env with your credentials:
# GOOGLE_PROJECT_ID=your-project-id
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# TEST_SPREADSHEET_ID=your-test-spreadsheet-id
- Execute em modo de desenvolvimento:
npm run dev # Watch mode with auto-reload
🎚️ Reduzindo o custo de contexto com conjuntos de ferramentas
Todas as 44 ferramentas juntas custam cerca de 9.900 tokens de contexto em cada sessão,
antes de o modelo fazer qualquer coisa. A maioria dos fluxos de trabalho precisa de uma fração disso.
GSHEETS_TOOLSETS limita quais ferramentas o servidor expõe:
{
"mcpServers": {
"gsheets": {
"command": "npx",
"args": ["mcp-gsheets"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/key.json",
"GSHEETS_TOOLSETS": "core,charts"
}
}
}
}
| Conjunto de Ferramentas | Ferramentas | O que cobre |
|---|---|---|
core | 11 | Ler/escrever valores, metadados, estrutura da planilha, criar planilha |
sheets | 9 | Ciclo de vida da planilha, linhas e colunas |
formatting | 15 | Cores, bordas, mesclagens, regras condicionais, links, datas |
charts | 3 | Criar, atualizar, excluir gráficos |
tables | 4 | Tabelas nativas |
analysis | 2 | Instantâneo da planilha inteira, comparação de intervalos |
Custo medido de tools/list:
| Configuração | Ferramentas | ≈ Tokens |
|---|---|---|
| não definido (padrão, todos os conjuntos) | 44 | 9.875 |
GSHEETS_TOOLSETS=core | 11 | 1.986 |
GSHEETS_TOOLSETS=core,sheets | 20 | 3.548 |
GSHEETS_READ_ONLY=true | 16 | 3.599 |
GSHEETS_TOOLSETS=core + somente leitura | 6 | 912 |
Observações:
- O padrão não muda — deixe
GSHEETS_TOOLSETSnão definido e você terá todas as ferramentas, exatamente como antes. coreestá sempre incluído.GSHEETS_TOOLSETS=chartssignifica "gráficos além do núcleo", não "apenas gráficos" — sem o núcleo, o servidor não consegue ler uma célula.- Um erro de digitação é um erro de inicialização, não uma lista de ferramentas silenciosamente menor.
GSHEETS_READ_ONLY=trueremove todas as ferramentas de escrita e pode ser combinado comGSHEETS_TOOLSETS. Ele é aplicado quando uma ferramenta é chamada, não apenas quando a lista é construída, então um cliente não pode escrever nomeando uma ferramenta oculta.
Todas as ferramentas também carregam anotações MCP (readOnlyHint, destructiveHint,
idempotentHint), para que os clientes possam pular prompts de confirmação em leituras e avisar
antes de operações destrutivas.
📋 Ferramentas Disponíveis
Leitura de Dados
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_get_values | Ler valores de células de um único intervalo | spreadsheetId, range (notação A1), valueRenderOption |
sheets_batch_get_values | Ler valores de células de vários intervalos em uma única solicitação | spreadsheetId, ranges (matriz de intervalos A1) |
sheets_get_metadata | Obter metadados da planilha: título, localidade, lista de planilhas com IDs, contagens de linhas/colunas | spreadsheetId |
sheets_check_access | Verificar se a conta de serviço pode acessar uma planilha | spreadsheetId |
Escrita de Dados
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_update_values | Escrever valores em um único intervalo (substitui o conteúdo existente) | spreadsheetId, range, values (matriz 2D), valueInputOption |
sheets_batch_update_values | Escrever valores em vários intervalos em uma única solicitação | spreadsheetId, data (matriz de {range, values}), valueInputOption |
sheets_append_values | Anexar linhas após a última linha de uma tabela existente. O insertDataOption padrão é OVERWRITE — defina INSERT_ROWS para empurrar as linhas existentes para baixo | spreadsheetId, range, values, valueInputOption, insertDataOption |
sheets_clear_values | Limpar todos os valores em um intervalo (preserva a formatação) | spreadsheetId, range |
sheets_insert_rows | Inserir linhas em branco ou pré-preenchidas em uma posição específica | spreadsheetId, range (âncora), rows, position (BEFORE/AFTER), values |
sheets_delete_columns | Excluir uma ou mais colunas usando um intervalo A1 de coluna inteira | spreadsheetId, range (ex.: Sheet1!B:D) |
sheets_delete_rows | Excluir uma ou mais linhas usando um intervalo A1 de linha inteira | spreadsheetId, range (ex.: Sheet1!2:4) |
sheets_insert_link | Inserir uma fórmula de hiperlink em uma célula | spreadsheetId, range, url, label |
sheets_insert_date | Inserir um valor de data/date-time formatado corretamente em uma célula | spreadsheetId, range, date, format |
Gerenciamento de Planilhas
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_create_spreadsheet | Criar um novo arquivo do Google Sheets | title, sheets (configurações opcionais de planilha inicial) |
sheets_insert_sheet | Adicionar uma nova aba de planilha a uma planilha existente | spreadsheetId, title, index |
sheets_delete_sheet | Remover uma aba de planilha pelo seu ID numérico | spreadsheetId, sheetId |
sheets_duplicate_sheet | Copiar uma planilha dentro da mesma pasta de trabalho | spreadsheetId, sheetId, newSheetName, insertSheetIndex |
sheets_copy_to | Copiar uma planilha para uma pasta de trabalho diferente | spreadsheetId, sheetId, destinationSpreadsheetId |
sheets_update_sheet_properties | Renomear uma planilha, alterar a cor da aba, alternar linhas de grade, etc. | spreadsheetId, sheetId, properties |
sheets_batch_delete_sheets | Excluir várias abas de planilha em uma única solicitação | spreadsheetId, sheetIds (matriz) |
Formatação de Células
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_format_cells | Aplicar cor de fundo, estilo de fonte, alinhamento e formato numérico a um intervalo | spreadsheetId, range, format |
sheets_batch_format_cells | Aplicar diferentes formatos a vários intervalos em uma única solicitação | spreadsheetId, requests (matriz de {range, format}) |
sheets_update_borders | Definir ou remover bordas em um intervalo (estilo, largura, cor por lado) | spreadsheetId, range, borders |
sheets_merge_cells | Mesclar um intervalo de células | spreadsheetId, range, mergeType (MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS) |
sheets_unmerge_cells | Desfazer a mesclagem de células previamente mescladas em um intervalo | spreadsheetId, range |
sheets_add_conditional_formatting | Adicionar uma regra de formatação condicional (gradiente ou booleana) a um intervalo | spreadsheetId, range, rule |
Tabelas Nativas
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_add_table | Criar uma tabela nativa do Google Sheets com colunas tipadas e valores de lista suspensa opcionais | spreadsheetId, sheetName, range, name, columns |
sheets_update_table | Atualizar uma tabela nativa existente do Google Sheets por ID de tabela usando uma máscara de campo explícita | spreadsheetId, tableId, fields, name, range, columns |
sheets_delete_table | Excluir uma tabela nativa do Google Sheets por ID de tabela | spreadsheetId, tableId |
sheets_get_tables | Ler tabelas nativas de uma planilha ou de uma planilha específica | spreadsheetId, sheetName |
Gráficos
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_create_chart | Criar um gráfico de barras, linhas, pizza, colunas ou outro em uma planilha | spreadsheetId, sheetId, chartSpec, position |
sheets_update_chart | Modificar a especificação ou posição de um gráfico existente | spreadsheetId, chartId, chartSpec, position |
sheets_delete_chart | Remover um gráfico de uma planilha | spreadsheetId, chartId |
Ferramentas de Leitura / Snapshot
| Ferramenta | Descrição | Parâmetros Principais |
|---|---|---|
sheets_get_merged_cells | Retornar todos os intervalos de células mescladas de uma planilha, com notação A1 e coordenadas brutas de GridRange | spreadsheetId, sheetName |
sheets_get_sheet_dimensions | Retornar larguras de colunas, alturas de linhas, contagens de colunas/linhas congeladas e sinalizadores de ocultação para cada coluna e linha | spreadsheetId, sheetName |
sheets_get_sheet_formatting | Ler a formatação bruta de células (cor de fundo, fonte, bordas, alinhamento, formato numérico) de um intervalo sem retornar valores de células | spreadsheetId, range |
sheets_get_conditional_formatting | Ler todas as regras de formatação condicional e intervalos com faixas (cores alternadas) definidos em uma planilha | spreadsheetId, sheetName |
sheets_get_sheet_structure | Apenas metadados estruturais leves — sem dados por célula. Retorna dimensões, linhas/colunas congeladas, cor da guia, larguras de colunas, alturas de linhas, colunas/linhas ocultas e todas as mesclagens em notação A1. Uma única chamada de API rápida | spreadsheetId, sheetName |
sheets_get_formatting_compact | Ler a formatação de células de um intervalo e retorná-la como pares compactos A1Range→formato (codificados por comprimento de execução). Células adjacentes idênticas são agrupadas em intervalos retangulares — reduz a saída em mais de 90 % em comparação com dados por célula | spreadsheetId, sheetName, range, useEffectiveFormat, fields |
sheets_get_full_sheet_snapshot | Ferramenta mestre de chamada única — retorna todos os metadados estruturais e de formatação (mesclagens, dimensões, formatação condicional e, opcionalmente, formatação de células) em uma única chamada de API. Suporta filtro fields e compactMode para limitar o tamanho da resposta | spreadsheetId, sheetName, includeFormattingRange, fields, compactMode |
sheets_get_basic_filter | Ler a configuração do Filtro Básico (AutoFilter) de uma planilha, incluindo intervalo filtrado, especificações de classificação e critérios de filtro por coluna (valores ocultos, condições, filtros de cor) | spreadsheetId, sheetName |
sheets_get_data_validation | Ler regras de validação de dados (caixas de seleção, listas suspensas, fórmulas personalizadas) de uma planilha ou intervalo. Retorna uma lista compacta codificada por comprimento de execução de regras exclusivas agrupadas por intervalos de células | spreadsheetId, sheetName, range |
🔧 Qualidade do Código
Linting
# Run ESLint
npm run lint
# Fix auto-fixable issues
npm run lint:fix
Formatação
# Check formatting with Prettier
npm run format:check
# Format code
npm run format
Verificação de Tipos
# Run TypeScript type checking
npm run typecheck
❗ Solução de Problemas
Problemas Comuns
"Falha na autenticação"
- Se estiver usando autenticação baseada em arquivo: verifique se o caminho da chave JSON é absoluto e correto
- Se estiver usando autenticação por string JSON: certifique-se de que o JSON esteja devidamente escapado e válido
- Se estiver usando autenticação por chave privada: verifique se a chave privada inclui marcadores BEGIN/END e se as quebras de linha são escapadas como
\\n - Verifique se GOOGLE_CLIENT_EMAIL é um e-mail válido de conta de serviço
- Verifique se GOOGLE_PROJECT_ID corresponde ao seu projeto (ou está incluído no JSON para autenticação JSON completa)
- Certifique-se de que a API Sheets esteja habilitada
"Permissão negada"
- Compartilhe a planilha com o e-mail da conta de serviço
- A conta de serviço precisa do papel de "Editor"
- Verifique o e-mail no arquivo JSON (campo client_email)
"Planilha não encontrada"
- Verifique o ID da planilha na URL
- Formato:
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit
Problemas de Conexão MCP
- Certifique-se de estar usando a versão compilada (
dist/index.js) - Verifique se o caminho do Node.js está correto na configuração do Claude Desktop
- Procure por erros nos logs do Claude Desktop
- Use
npm run inspectorpara depurar
🔍 Encontrando IDs
ID da Planilha
A partir da URL:
https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
↑ This is the spreadsheet ID
ID da Planilha (Aba)
Use sheets_get_metadata para listar todas as planilhas (abas) com seus IDs.
📝 Dicas
- Sempre teste com uma cópia dos seus dados
- Use operações em lote para melhor desempenho
- Defina permissões adequadas (somente leitura vs edição)
- Verifique os limites de taxa para operações grandes
- Use
sheets_check_accesspara verificar permissões antes das operações
📘 Detalhes das Ferramentas
sheets_get_sheet_structure
Retorna metadados estruturais/dimensionais leves de uma planilha sem nenhum dado por célula. Muito mais rápido e econômico que sheets_get_full_sheet_snapshot quando você só precisa de informações de layout.
Parâmetros:
spreadsheetId(obrigatório): O ID da planilhasheetName(obrigatório): Nome da planilha (aba)
Retorna: sheetName, sheetId, sheetIndex, tabColor, tabColorStyle, dimensions (rowCount, columnCount), frozen (rowCount, columnCount), columnWidths (matriz de tamanhos em pixels), rowHeights (matriz de tamanhos em pixels), hiddenColumns (índices baseados em 0), hiddenRows (índices baseados em 0), mergeCount, merges (matriz em notação A1)
sheets_get_formatting_compact
Ler a formatação de células de um intervalo e retorná-la como pares compactos A1Range → formato. Células adjacentes com formatação idêntica são agrupadas em intervalos retangulares (codificados por comprimento de execução), reduzindo a saída em mais de 90 % em comparação com dados por célula.
Parâmetros:
spreadsheetId(obrigatório): O ID da planilhasheetName(obrigatório): Nome da planilha (aba)range(obrigatório): Intervalo sem prefixo da planilha, ex.:"A1:Z85"useEffectiveFormat(opcional):false(padrão) = userEnteredFormat (apenas substituições explícitas, saída menor);true= effectiveFormat (todos os padrões herdados)fields(opcional): Matriz de nomes de campos de formato a incluir, ex.:["backgroundColor", "textFormat", "borders"]
Retorna: { range, formatType, rangeCount, data: { "A1:C3": { backgroundColor: {...} }, ... } }
Campos suportados: backgroundColor, backgroundColorStyle, textFormat, horizontalAlignment, verticalAlignment, wrapStrategy, textRotation, numberFormat, padding, borders
sheets_get_full_sheet_snapshot
Ferramenta mestre de chamada única que retorna todos os metadados estruturais e de formatação em uma única chamada de API.
Parâmetros:
spreadsheetId(obrigatório): O ID da planilhasheetName(obrigatório): Nome da planilha (aba)includeFormattingRange(opcional): Se fornecido (ex.:"A1:Z100"), a formatação por célula é incluída na respostauseEffectiveFormat(opcional): Use effectiveFormat em vez de userEnteredFormat ao incluir formatação de células (padrão:false)fields(opcional): Matriz de nomes de campos de formato a retornar, ex.:["backgroundColor", "textFormat"]— reduz o tamanho da transferência da API e o tamanho da respostacompactMode(opcional): Quandotrue, células adjacentes idênticas são agrupadas em intervalos retangulares (RLE). Reduz uma planilha típica de 85×28 de ~60 000 linhas para ~500 linhas (padrão:false)
sheets_insert_rows
Inserir novas linhas em uma posição específica em uma planilha, com dados opcionais.
Parâmetros:
spreadsheetId(obrigatório): O ID da planilharange(obrigatório): Ponto de ancoragem em notação A1 onde as linhas serão inseridas (ex.: "Sheet1!A5")rows(opcional): Número de linhas a inserir (padrão: 1)position(opcional): 'BEFORE' ou 'AFTER' em relação à linha de ancoragem (padrão: 'BEFORE')inheritFromBefore(opcional): Se deve herdar a formatação da linha anterior (padrão: false)values(opcional): Matriz 2D de valores para preencher as novas linhas inseridasvalueInputOption(opcional): 'RAW' ou 'USER_ENTERED' (padrão: 'USER_ENTERED')
Exemplos:
// Insert 1 empty row before row 5
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!A5"
}
// Insert 3 rows after row 10 with data
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!A10",
"rows": 3,
"position": "AFTER",
"values": [
["John", "Doe", "john@example.com"],
["Jane", "Smith", "jane@example.com"],
["Bob", "Johnson", "bob@example.com"]
]
}
sheets_delete_columns
Excluir uma ou mais colunas de uma planilha usando um intervalo A1 de coluna inteira.
Parâmetros:
spreadsheetId(obrigatório): O ID da planilharange(obrigatório): Intervalo A1 de coluna inteira a excluir (ex.: "Sheet1!B:D" ou "Sheet1!C:C")
Exemplos:
// Delete columns B through D from Sheet1
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!B:D"
}
// Delete a single column from the first sheet
{
"spreadsheetId": "your-spreadsheet-id",
"range": "C:C"
}
sheets_delete_rows
Excluir uma ou mais linhas de uma planilha usando um intervalo A1 de linha inteira.
Parâmetros:
spreadsheetId(obrigatório): O ID da planilharange(obrigatório): Intervalo A1 de linha inteira a excluir (ex.: "Sheet1!2:4" ou "Sheet1!3:3")
Exemplos:
// Delete rows 2 through 4 from Sheet1
{
"spreadsheetId": "your-spreadsheet-id",
"range": "Sheet1!2:4"
}
// Delete a single row from the first sheet
{
"spreadsheetId": "your-spreadsheet-id",
"range": "3:3"
}
📋 Changelog
Consulte CHANGELOG.md para obter uma lista de alterações em cada versão.
🤝 Contribuição
- Faça um fork do repositório
- Crie sua branch de funcionalidade (
git checkout -b feature/amazing-feature) - Execute testes e linting (
npm run check) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
👤 Autor
Tomáš Grásl - tomasgrasl.cz
📄 Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.