---
title: Integração Microsoft Excel
description: "Gerenciamento de pastas de trabalho e dados com integração Microsoft Excel para CrewAI."
icon: "table"
mode: "wide"
---

## Visão Geral

Permita que seus agentes criem e gerenciem pastas de trabalho, planilhas, tabelas e gráficos do Excel no OneDrive ou SharePoint. Manipule intervalos de dados, crie visualizações, gerencie tabelas e simplifique seus fluxos de trabalho de planilhas com automação alimentada por IA.

## Pré-requisitos

Antes de usar a integração Microsoft Excel, certifique-se de ter:

- Uma conta [CrewAI AOP](https://app.crewai.com) com assinatura ativa
- Uma conta Microsoft 365 com acesso ao Excel e OneDrive/SharePoint
- Conectado sua conta Microsoft através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)

## Configurando a Integração Microsoft Excel

### 1. Conecte sua Conta Microsoft

1. Navegue para [Integrações CrewAI AOP](https://app.crewai.com/crewai_plus/connectors)
2. Encontre **Microsoft Excel** na seção de Integrações de Autenticação
3. Clique em **Conectar** e complete o fluxo OAuth
4. Conceda as permissões necessárias para acesso a arquivos e pastas de trabalho do Excel
5. Copie seu Token Enterprise das [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)

### 2. Instale o Pacote Necessário

```bash
uv add crewai-tools
```

### 3. Configuração de variável de ambiente

<Note>
  Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>

```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
```

Ou adicione ao seu arquivo `.env`:

```
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
```

## Ações Disponíveis

<AccordionGroup>
  <Accordion title="microsoft_excel/create_workbook">
    **Descrição:** Criar uma nova pasta de trabalho do Excel no OneDrive ou SharePoint.

    **Parâmetros:**
    - `file_path` (string, obrigatório): Caminho onde criar a pasta de trabalho (ex: 'MinhaPastaDeTrabalho.xlsx')
    - `worksheets` (array, opcional): Planilhas iniciais para criar. Cada item é um objeto com `name` (string, nome da planilha).
  </Accordion>

  <Accordion title="microsoft_excel/get_workbooks">
    **Descrição:** Obter todas as pastas de trabalho do Excel do OneDrive ou SharePoint.

    **Parâmetros:**
    - `select` (string, opcional): Selecionar propriedades específicas para retornar.
    - `filter` (string, opcional): Filtrar resultados usando sintaxe OData.
    - `expand` (string, opcional): Expandir recursos relacionados inline.
    - `top` (integer, opcional): Número de itens a retornar (mín 1, máx 999).
    - `orderby` (string, opcional): Ordenar resultados por propriedades especificadas.
  </Accordion>

  <Accordion title="microsoft_excel/get_worksheets">
    **Descrição:** Obter todas as planilhas em uma pasta de trabalho do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `select` (string, opcional): Selecionar propriedades específicas para retornar (ex: 'id,name,position').
    - `filter` (string, opcional): Filtrar resultados usando sintaxe OData.
    - `expand` (string, opcional): Expandir recursos relacionados inline.
    - `top` (integer, opcional): Número de itens a retornar (mín 1, máx 999).
    - `orderby` (string, opcional): Ordenar resultados por propriedades especificadas.
  </Accordion>

  <Accordion title="microsoft_excel/create_worksheet">
    **Descrição:** Criar uma nova planilha em uma pasta de trabalho do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `name` (string, obrigatório): Nome da nova planilha.
  </Accordion>

  <Accordion title="microsoft_excel/get_range_data">
    **Descrição:** Obter dados de um intervalo específico em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `range` (string, obrigatório): Endereço do intervalo (ex: 'A1:C10').
  </Accordion>

  <Accordion title="microsoft_excel/update_range_data">
    **Descrição:** Atualizar dados em um intervalo específico em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `range` (string, obrigatório): Endereço do intervalo (ex: 'A1:C10').
    - `values` (array, obrigatório): Array 2D de valores para definir no intervalo. Cada array interno representa uma linha, e elementos podem ser string, number ou integer.
  </Accordion>

  <Accordion title="microsoft_excel/add_table">
    **Descrição:** Criar uma tabela em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `range` (string, obrigatório): Intervalo para a tabela (ex: 'A1:D10').
    - `has_headers` (boolean, opcional): Se a primeira linha contém cabeçalhos. Padrão: true.
  </Accordion>

  <Accordion title="microsoft_excel/get_tables">
    **Descrição:** Obter todas as tabelas em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
  </Accordion>

  <Accordion title="microsoft_excel/add_table_row">
    **Descrição:** Adicionar uma nova linha a uma tabela do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `table_name` (string, obrigatório): Nome da tabela.
    - `values` (array, obrigatório): Array de valores para a nova linha. Elementos podem ser string, number ou integer.
  </Accordion>

  <Accordion title="microsoft_excel/create_chart">
    **Descrição:** Criar um gráfico em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `chart_type` (string, obrigatório): Tipo de gráfico (ex: 'ColumnClustered', 'Line', 'Pie').
    - `source_data` (string, obrigatório): Intervalo de dados para o gráfico (ex: 'A1:B10').
    - `series_by` (string, opcional): Como interpretar os dados ('Auto', 'Columns' ou 'Rows'). Padrão: 'Auto'.
  </Accordion>

  <Accordion title="microsoft_excel/get_cell">
    **Descrição:** Obter o valor de uma única célula em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `row` (integer, obrigatório): Número da linha (baseado em 0).
    - `column` (integer, obrigatório): Número da coluna (baseado em 0).
  </Accordion>

  <Accordion title="microsoft_excel/get_used_range">
    **Descrição:** Obter o intervalo usado de uma planilha do Excel (contém todos os dados).

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
  </Accordion>

  <Accordion title="microsoft_excel/list_charts">
    **Descrição:** Obter todos os gráficos em uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
  </Accordion>

  <Accordion title="microsoft_excel/delete_worksheet">
    **Descrição:** Excluir uma planilha de uma pasta de trabalho do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha a excluir.
  </Accordion>

  <Accordion title="microsoft_excel/delete_table">
    **Descrição:** Excluir uma tabela de uma planilha do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
    - `worksheet_name` (string, obrigatório): Nome da planilha.
    - `table_name` (string, obrigatório): Nome da tabela a excluir.
  </Accordion>

  <Accordion title="microsoft_excel/list_names">
    **Descrição:** Obter todos os intervalos nomeados em uma pasta de trabalho do Excel.

    **Parâmetros:**
    - `file_id` (string, obrigatório): O ID do arquivo Excel.
  </Accordion>
</AccordionGroup>

## Exemplos de Uso

### Configuração Básica do Agente Microsoft Excel

```python
from crewai import Agent, Task, Crew

# Crie um agente com capacidades do Microsoft Excel
excel_agent = Agent(
    role="Gerenciador de Dados Excel",
    goal="Gerenciar pastas de trabalho e dados do Excel de forma eficiente",
    backstory="Um assistente IA especializado em operações do Microsoft Excel e manipulação de dados.",
    apps=['microsoft_excel']  # Todas as ações do Excel estarão disponíveis
)

# Tarefa para criar uma nova pasta de trabalho
create_workbook_task = Task(
    description="Criar uma nova pasta de trabalho do Excel chamada 'RelatorioMensal.xlsx' com uma planilha inicial chamada 'DadosVendas'.",
    agent=excel_agent,
    expected_output="Nova pasta de trabalho 'RelatorioMensal.xlsx' criada com planilha 'DadosVendas'."
)

# Execute a tarefa
crew = Crew(
    agents=[excel_agent],
    tasks=[create_workbook_task]
)

crew.kickoff()
```

## Solução de Problemas

### Problemas Comuns

**Erros de Autenticação**
- Certifique-se de que sua conta Microsoft tenha as permissões necessárias para acesso a arquivos (ex: `Files.Read.All`, `Files.ReadWrite.All`).
- Verifique se a conexão OAuth inclui todos os escopos necessários.

**Problemas de Criação de Arquivos**
- Ao criar pastas de trabalho, certifique-se de que o `file_path` termine com extensão `.xlsx`.
- Verifique se você tem permissões de escrita no local de destino (OneDrive/SharePoint).

### Obtendo Ajuda

<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
  Entre em contato com nossa equipe de suporte para assistência com configuração ou solução de problemas da integração Microsoft Excel.
</Card>
