Boa tarde!!
Tenho um arquivo com diversas abas onde preciso cruzar as informações de cada uma delas com uma base principal e depois salvar as alterações, porém sempre dá erro na hora de salvar, aparece que não é possível abrir o arquivo por já estar sendo usado em outro fluxo. Tem algum jeito de fazer isso sem precisar usar contêiner para rodar etapa por etapa?
Solucionado! Ir para Solução.
@Jade_Jesus Tudo bem?
Você está tentando ler um arquivo e gravar no mesmo arquivo que vc está lendo?
Isso mesmo, Carlos...eu leio várias abas do mesmo arquivo e depois preciso salvar no mesmo arquivo usando a ferramenta de substituição.
Segue minha sugestão:
Você precisará criar um arquivo intermediário. 2 workflows
Le as entradas faz os ajustes, grava o arquivo 1 - Workflow 1
Depois vc abre um segundo fluxo, le o arquivo que vc acabou de salvar e faz ele gravar no primeiro arquivo - Workflow 2
Abraços
Olá @Jade_Jesus
Uma outra sugestão é usar a ferramenta Block Untl Done: https://help.alteryx.com/20231/designer/block-until-done-tool
Veja o exemplo abaixo:
O fluxo irá ler o arquivo (no seu caso várias abas), aplicar todas as alterações mas só vai de fato escrever no arquivo quando todo o processo anterior já estiver em memória. Isso irá eliminar a chance de voce tentar escrever em um arquivo que está sendo lido ao mesmo tempo.
Eu havia tentado com essa ferramenta mas não deu certo, porque eu acabei tendo 4 fluxos em um só: importei ao mesmo tempo as 4 abas do mesmo arquivo e fiz as alterações em cada uma delas, mas por elas serem entradas distintas, não consigo aplicar um unico Block para todas.
Uma ferramenta que eu uso bastante em casos como o seu é o Excel File Opened da comunidade. Segue o link: https://community.alteryx.com/t5/Community-Gallery/Read-All-Excel-Files/ta-p/897750
Basicamente essa ferramenta consegue ler todos os arquivos e todas as abas ao mesmo tempo e os coloca em um fluxo único. Depois voce pode fazer o tratamento de cada um separado e ir criando diversos Block Until Done.
Veja se lhe ajuda!
Abcs