# Ler XLS/XLSX

{% hint style="warning" %}
Atenção, os dados precisam estar em binário para seguir com a conversão em objetos Javascript. A aba Instruções contém um exemplo de como o arquivo pode ser lido dentro do Fluxo.
{% endhint %}

{% tabs %}
{% tab title="Parâmetros" %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeCrO1_R8qVgISvIbQk_uiRIm73wazCCl5LcGPp6_ykCiJ58xPLdKXkvz4DR6geiq4fWYrTKE_GJy_iDuWbPFmJTKYh1uCar_aQ4vCixwRQnvONbWP2c9d-C5lLDqroFLXhD6j7Pg?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Parâmetros de configuração</p></figcaption></figure>

| Campo                                                       | Tipo           | Descrição                                                                                                                                                                                                                                                             |
| ----------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Descrição                                                   | Campo de texto | Descrição visual do conector no editor de fluxo                                                                                                                                                                                                                       |
| Modo                                                        | Seletor        | <p>Permite selecionar a forma em que o conteúdo em XLS/XLSX será lido e convertido para planilha. Opções:</p><ul><li>De XLS/XLSX para um objeto JSON;</li><li>De XLS/XLSX para um objeto JSON com range;</li><li>Captura o valor de uma célula do XLS/XLSX;</li></ul> |
| Incluir células vazias                                      | Seletor        | Disponível quando é selecionado o modo De XLS/XLSX para um objeto JSON. Informa se deve ou não ignorar células vazias.                                                                                                                                                |
| Conteúdo da planilha XLS/XLSX                               | Campo de texto | Informa o caminho do conteúdo XLS/XLSX, dentro do objeto msg, para ser lido e convertido. O conteúdo precisa estar em binário para ser lido.                                                                                                                          |
| Usar linha de cabeçalho como chave/valor na saída dos dados | Seletor        | Disponível quando é selecionado o modo De XLS/XLSX para um objeto JSON ou De XLS/XLSX para um objeto JSON com range. Informa se deve usar a linha do cabeçalho da planilha (nome das colunas) como chave no objeto JSON.                                              |
| Célula que começará a busca                                 | Campo de texto | Disponível quando é selecionado o modo De XLS/XLSX para um objeto JSON com range. Informa o início da captura dos dados da planilha para conversão em objeto JSON.                                                                                                    |
| Célula que terminará a busca                                | Campo de texto | Disponível quando é selecionado o modo De XLS/XLSX para um objeto JSON com range. Informa o fim da captura dos dados da planilha para conversão em objeto JSON.                                                                                                       |
| Células a serem buscadas, separadas por vírgula             | Campo de texto | Disponível quando é selecionado o modo Captura o valor de uma célula do XLS/XLSX. Informa o caminho de células específicas para serem capturadas na planilha e convertidas em objeto JSON.                                                                            |
| Output Path                                                 | Campo de texto | Refere-se ao caminho de saída do conteúdo convertido no contexto de execução do conector                                                                                                                                                                              |
| {% endtab %}                                                |                |                                                                                                                                                                                                                                                                       |

{% tab title="Payload" %}

## Sucesso

Caso optado por realizar a transformação padrão de XLSX/XLS para objeto, com ou sem range, a saída estará disponibilizada como lista de objetos JSON da seguinte forma. Cada objeto da lista é referente a uma linha (registro) da planilha.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdjq1q6NM7JkV35FfWqOwohHyCt4dJB0WSTTK5gn730rNEVLSDIlZuC_AfRIcUY9advtfSVSv-9Yqzui0DjX56IxxWhIcZYFjEd5SSFtrIdBt4jVgja58Wbi77EtOv-9K1__egfIA?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Sucesso na conversão para objeto Javascript</p></figcaption></figure>

A captura de células da planilha por range ocorre em formato de matriz ou grade, onde o primeiro valor define o ponto inicial da captura e o segundo valor determina o ponto final. O resultado incluirá todas as células dentro desse intervalo. Por exemplo, em uma planilha com as colunas A, B, C, D e as linhas 1, 2, 3, 4, ao definir um range de A1 até C3, serão capturadas todas as células dentro desse espaço (A1, A2, A3, B1, B2, B3, C1, C2 e C3).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfRh8YdKQWn_fk3IjdO9_unLTE_UWkNw4TpfHoK3dsbgmiIc95PtvBTIwklk-Qc64elqr_l6EytQPKqQZpY5vFtoI5JHN_3nH_AyQb_Xwdp9XjRjyKOJB1goYBqGeF1KaqVIl1yjA?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Exemplo de captura de range</p></figcaption></figure>

Ao capturar o valor específico de uma ou várias células o conteúdo será disponibilizado como um simples objeto JSON. Onde a chave é o identificador da célula e o valor é o conteúdo desta célula. Exemplo:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXejRAKC_mpKyhnKkbyeX-qGVdEP85FbPiUCmwERFT9XsoCnvaHVM0IlK9-TI9bP9H3InShhGuI0WHWNMGrH5xQl9sWQVp3NoY4jRUfkzcZU-xMFaAZO9FVD6tF3GdsH9hh8F0ioIQ?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Exemplo de captura de valores específicos</p></figcaption></figure>
{% endtab %}

{% tab title="Instruções" %}

## Leitura da planilha

Para realizar a conversão de uma planilha em objeto JSON, é necessário, primeiramente, que esta planilha seja lida no fluxo e convertida em binário. Há várias abordagens possíveis para realizar esta leitura, um exemplo é ler uma planilha armazenada dentro do Storage do Workspace da seguinte forma:

* O conector File Reader irá localizar o arquivo XLS/XLSX no Storage do Workspace e irá converter em binário.
* O conector Ler XLS/XLSX irá acessar o caminho da planilha convertida em binário, realizar a leitura e a conversão para objeto Javascript.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXddXyHKDxqL9xNoIv2beyDeWVMBC8gl0rNlFp8uGv0Nn2hZvAEugUmJFnxk3ECKe5DtmiGZoolUY1LzIsXkmp8XTRshLi0P060iz8Hk0ZPcAMCBFxm-vMkDRzCW_DZfbTkd9NR7Gg?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Exemplo de leitura de arquivo em Fluxo</p></figcaption></figure>

Separamos a estrutura do fluxo utilizado nas capturas de tela. Para usá-lo, acesse um fluxo através da sua conta Floui e importe o arquivo abaixo.

{% file src="<https://215079342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F226k0cnPTn1PWu9xHcK8%2Fuploads%2FBYKcM2rRQa1xk6O5f3Al%2Fler-xls-xlsx.floui.json?alt=media&token=2523a1f9-f09b-4959-a2c2-4ff05c0278cf>" %}
Modelo de fluxo
{% endfile %}
{% endtab %}
{% endtabs %}
