Stream Excel
Descubra mais sobre o componente Stream Excel e saiba como utilizá-lo na Digibee Integration Platform.
O Stream Excel lê um arquivo local de Excel linha por linha em uma estrutura JSON e dispara subpipelines para processar cada linha. Esse recurso costuma ser indicado em situações nas quais há a necessidade de processamento de arquivos grandes.
Parâmetros
Dê uma olhada nos parâmetros de configuração do componente:
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
File Name | Determina o nome ou full file path (ex.: tmp/processed/file.txt) do arquivo local que será lido. | file.xlsx | String |
Sheet Name | Nome da planilha de Excel a ser lida. | Plan1 | String |
Sheet Index | Index da planilha de Excel a ser lida. | N/A | Inteiro |
Use Sheet Index Instead Of Name | Se ativada, a opção permite que o index da planilha seja informado no lugar do nome. | False | Booleano |
Max Fractional Digits | Determina o número preciso de dígitos fracionários em uma célula numérica no momento da leitura do arquivo Excel. | 5 | Inteiro |
Read Specific Columns As String | Indica quais colunas o componente deve ler em forma de string ao invés do seu formato original. Cada coluna desejada deve ser informada separadamente por uma vírgula (ex.: A,B,X,AA). | B,D,F | String |
Read All Columns As String | Se selecionada, a opção fará com que todas as colunas sejam lidas como string. | False | Booleano |
Column Identifier | Em caso de erros, esta é a coluna que será enviada ao sub-processo onException. | A | String |
Parallel Execution Of Each Iteration | Se selecionada, a opção fará com que o componente realize a leitura de linhas do arquivo em paralelo. | False | Booleano |
Fail On Error | A ativação desse parâmetro suspende a execução do pipeline apenas quando há uma ocorrência grave na estrutura da iteração, impedindo a sua conclusão por completo. A ativação do parâmetro Fail On Error não tem ligação com erros ocorridos nos componentes utilizados para a construção dos subpipelines (onProcess e onException). | False | Booleano |
Advanced | Quando selecionada, a opção solicita a definição de parâmetros avançados. | False | Booleano |
Skip | Número de linhas a serem puladas antes da leitura do arquivo. | N/A | Inteiro |
Limit | Número máximo de linhas a serem lidas. | N/A | Inteiro |
O Stream Excel realiza processamento em lote. Para entender melhor o conceito, leia a documentação Processamento em lote.
O Stream Excel não é capaz de ler arquivos no formato .xls, mas apenas no formato .xlsx.
Fluxo de Mensagens
Entrada
O componente aceita qualquer mensagem de entrada, podendo utilizá-la por meio de Double Braces.
Saída
O componente retorna um JSON contendo o total de execuções, total de sucesso e total de falhas.
sem erro
com erro
Total: número total de linhas processadas.
Success: número total de linhas processadas com sucesso.
Failed: número total de linhas cujo processamento falhou.
Para saber se uma linha foi processada corretamente, deve haver o retorno { "success": true }
para cada linha processada.
O componente joga uma exceção se o arquivo não existir ou não puder ser lido. Do contrário, uma mensagem é produzida na saída com a exceção ocorrida.
Você também pode encontrar um erro ao fazer o upload de um arquivo .xlsx no Google Drive e, em um pipeline, usar o componente Google Drive para fazer o download e o componente Stream Excel para ler este arquivo.
Quando você faz essa ação, um comportamento inesperado do Google Sheets altera o arquivo .xlsx. Isso faz com que o Stream Excel leia todas as linhas da planilha (incluindo aquelas em branco) ao invés de ler apenas as linhas com conteúdo. Este comportamento não está relacionado com a Digibee Integration Platform.
Como solução alternativa, você pode copiar o conteúdo da planilha e colar em uma nova guia no mesmo arquivo .xlsx. Se você fizer esse procedimento, não copie as linhas em branco ou o mesmo erro irá ocorrer.
A manipulação de arquivos dentro de um pipeline ocorre de forma protegida. Todos os arquivos podem ser acessados apenas por um diretório temporário, no qual cada pipeline key dá acesso ao seu próprio conjunto de arquivos.
Stream Excel em ação
Abaixo será demonstrado como o componente se comporta em determinada situação e a sua respectiva configuração.
Ler arquivo de Excel e analisar resultado
Para esse exemplo, vamos considerar que já possuímos um arquivo Excel no fluxo do pipeline que foi baixado através de componentes como: Google Drive, OneDrive e assim por diante. O arquivo em questão possui uma planilha com os nomes dos 100 bilionários selecionados pela Forbes.
O componente Stream Excel será configurado da seguinte forma:
File Name: file.xlsx
Sheet Name: Plan1
Use Sheet Index Instead of Name: desativado
Max Fractional Digits: 5
Read Specific Columns As String: B,D,F
Read All Columns As String: desativado
Column Identifier: A
Parallel Execution of Each Iteration: desativado
Fail On Error: desativado
Advanced: desativado
Entrada
Saída
Resultado do log
Para visualizar esse log, será utilizada a aba de Mensagens do pipeline. Conforme demonstrado na imagem abaixo, todas as linhas da planilha foram lidas individualmente pelo componente, incluindo até o nome das colunas.
Ler arquivo de Excel e analisar uma planilha inexistente no arquivo
Para esse exemplo, considere a mesma planilha analisada anteriormente. No entanto, será selecionada uma planilha que não existe.
O componente Stream Excel irá retornar a seguinte mensagem de erro (Fail On Error está desativado):
Ler arquivo de Excel inválido
Para esse exemplo, considere um arquivo inexistente no fluxo do pipeline.
O componente Stream Excel irá retornar a seguinte mensagem de erro (Fail On Error está desativado):
Atualizado