> For the complete documentation index, see [llms.txt](https://docs.roboteasy.tech/studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboteasy.tech/studio/geral/iniciar-um-projeto/projeto-com-parametros-excel.md).

# Projeto com Parâmetros Excel no Genesis

Exemplo de projeto que recebe um parâmetro inicial do tipo Excel

## Projeto com Parâmetro Excel

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FlwwS5zR6I2Zny7a0JzhR%2Fimage.png?alt=media&amp;token=3e2ee8b5-2f52-4872-a550-836731f2740a" alt=""><figcaption></figcaption></figure>

### Visão Geral

O projeto com parâmetro do tipo **Excel** permite que o robô receba uma planilha como entrada inicial, possibilitando o processamento estruturado de dados linha a linha.

Ao iniciar a execução, a planilha é convertida automaticamente para uma estrutura de lista (array bidimensional), onde cada item representa uma linha e cada posição interna representa uma coluna.

***

### Funcionamento

Quando um parâmetro do tipo Excel é informado, os dados são disponibilizados durante a execução no seguinte formato:

```
[
  [123457, "Smith"],
  [123458, "Michael"],
  [123459, "Mike"],
  [123450, "Julia"]
]
```

Cada elemento da lista representa:

* **Primeiro índice** → linha da planilha
* **Segundo índice** → coluna da planilha

***

### Quando usar

* Quando for necessário processar dados de planilhas Excel
* Em automações com entrada de dados estruturados
* Para processamento em lote
* Quando houver necessidade de iterar registros sequencialmente

***

### Quando não usar

* Quando os dados não estiverem estruturados em formato tabular
* Para dados que exigem tipagem forte
* Em cenários com grande volume sem controle de paginação
* Quando a estrutura da planilha for inconsistente

***

### Configuração

#### Novo Projeto

Na criação do projeto:

* **Nome do robô**\*\
  Nome descritivo do robô
* **Tipo do robô**\*\
  Selecionar como **Principal**
* **Descrição**\*\
  Descrição do objetivo do robô

***

#### Parâmetros iniciais

Adicionar um novo parâmetro:

* **Nome da variável**\
  `Planilha`
* **Tipo**\
  `Excel`
* **Valor inicial**\
  Opcional
* **Obrigatório**\
  Definir conforme necessidade

***

#### Laço Livre

Adicionar o objeto **Laço Livre** ao fluxo para percorrer os dados da planilha.

**Configuração**

* **Título**\*\
  Nome do laço
* **Condição**\*

```
count < Planilha.Count
```

* **Contador**\*\
  Variável de controle do laço
* **Valor inicial do contador**\*

```
0
```

* **Incremento do contador**\*

```
1
```

A condição define que o laço será executado enquanto o contador for menor que a quantidade de linhas da planilha.

***

### Acesso aos dados

Para acessar os valores da planilha, utilize o padrão:

```
// Primeira coluna (Código)
Planilha[count][0]

// Segunda coluna (Nome)
Planilha[count][1]
```

***

### Exemplo

Dentro do Laço Livre:

```
// Exibir código
Planilha[count][0]

// Exibir nome
Planilha[count][1]
```

***

### Observações

* O índice da planilha inicia em **0**
* A estrutura segue o padrão **\[linha]\[coluna]**
* `Planilha.Count` representa o total de linhas
* Linhas vazias podem gerar erro de índice
* Não há validação automática da estrutura da planilha

***

### Boas práticas

* Validar se a planilha possui dados antes de iniciar o laço
* Garantir que todas as linhas possuem as mesmas colunas
* Evitar acesso a índices inexistentes
* Utilizar logs para rastrear a execução
* Tratar possíveis exceções durante a leitura
