No artigo de hoje vamos entender o que causa o erro de gerar e abrir um Excel via AdvPL.
Se você, quando estava desenvolvendo algum relatório que gerava Excel, se deparou com a mensagem “Problemas durante o carregamento – Houve problema nas seguintes áreas durante o carregamento…”, similar ao print abaixo:
Existem algumas coisas que podem impactar, e no caso hoje vamos trazer 3 dicas para você tentar isolar o problema.
Dica 1 – Caracteres especiais
Caso você esteja construindo um relatório usando FWMsExcel ou suas derivadas, tome cuidado com caracteres que possam impactar em uma estrutura XML.
Como por exemplo, caracteres como <, >, & e entre outros.
Para isso, na montagem do seu relatório teste as informações e veja se em alguma delas esta indo algum caractere indevido e trate a informação.
Dica 2 – Fonte negativa
Esse aqui, é se você utiliza a geração do Excel via TReport, tome cuidado na declaração do tamanho da fonte. Acontece que em muitas partes do Protheus, por exemplo, na classe TFont, nós declaramos a fonte com tamanho negativo.
Mas no TReport, quando ele vai processar o Excel, essa informação acaba invalidando a planilha, então veja um exemplo onde o erro é reproduzido:
... oReport:SetPortrait() oReport:SetLineHeight(50) oReport:nFontBody := -12 //Tamanho da fonte ...
Então para resolver essa questão, basta mudar para um valor positivo, conforme abaixo:
... oReport:SetPortrait() oReport:SetLineHeight(50) oReport:nFontBody := 12 //Tamanho da fonte ...
Dica 3 Testando os dados
Se mesmo com as dicas acima o problema persistir, o que falta então é isolar os dados.
Por exemplo, supondo que tenha 100 linhas no relatório, force o filtro, para trazer apenas 10 registros, depois 20, depois 30 e assim por diante, até achar mais ou menos em que linha apresenta o problema.
Outra situação, seria testar as colunas, supondo que você tenha 5 colunas no relatório, tente testar ele com 1, depois com 2, depois com 3 e assim por diante.
Bom pessoal, por hoje é só.
Abraços e até a próxima.