Árvore de páginas

Geração de planilhas em Excel Office/Calc LibreOffice através do gatilho ctrl+alt+E.


Objetivo:

O GotoExcel é um programa genérico para exportações de relatórios, com o resultado sendo uma planilha de extensão .xlsx.

  • Compatível com Office Excel, a partir da versão 2013 e LibreOffice Calc a partir da versão 5.0.

O GotoExcel pode apresentar comportamento não previsto com outras versões do Office e Libreoffice e devido ao fato de algumas dessas versões não receberem mais suporte por suas desenvolvedoras e/ou serem desenvolvidos de modo colaborativo, pode haver impasses em uma solução.

Por se tratar de um programa genérico para exportação, o GotoExcel deve manter compatibilidade com a grande parte dos programas.

Nossa orientação é que sejam gerados relatórios padrões para os programas, em que o relatório gerado pelo GotoExcel não atenda as necessidades.

Fluxo de exportação:

Execução do GotoExcel:
  • Através do gatilho ctrl+alt+E em telas que possuam ou não grid/browser;
  • Programa se encontra dentro do foundation, pasta btb\btb944za.r.
Características Gerais:
  • Este programa gera planilhas com extensão .xlsx a partir de uma tela que:
    • Possuir grid/browser com formatação de cabeçalho/conteúdo/rodapé;
    • Caso não possuir grid/browser gera uma planilha com os devidos dados, mas sem formatação estética, apenas formatação dos dados.
  • O GotoExcel não efetua exportações de telas que possuam o componente treeview:
    • Ex.: MEN704AA.
  • Atualmente para exportar os dados de um grid/browser é necessário que o foco esteja no grid/browser efetuando um clique no grid/browser antes da execução do gatilho;
  • Caso o programa que venha a ser utilizado para exportação, possuir vários folders/páginas com grids/browsers será exportado a página visível, ou seja, a página que está visível/selecionada em tela terá seu grid exportado para a planilha;
  • Todos os dados exportados passam por validações de formatação:

    • Não tem como garantir todas as formatações, mas dentro do possível, é formatado conforme o tipo/formato do dado;

    • Dados que são do tipo alfanumérico são transformados para character, independente do formato de origem.

  • O GotoExcel possui uma série de lógicas para validar a formatação de origem, mas talvez não atenda todos os casos.
    • Um exemplo é o programa Demonstrativo Contábil (MGL204AA), no qual a formatação do grid/browser é character e se tratando de um programa contábil mostra os valores negativos com parênteses (40.256,99). O fato do dado em sua origem ser character e ainda possuir um caractere especial, no caso os parênteses ( ), acaba sendo formatado como character na planilha final, o que resulta em alguns impeditivos para quem utiliza fórmulas na planilha. Nestes casos, a situação deve ser tratada pelo time responsável do programa de negócio em questão.
  • Formatações efetuadas atualmente:

    DadoFormato
    character
    decimal#.##,##
    integer####
    dataDD/MM/AA - DD/MM/AAAA - DD/MM/AAAA HRS
    timeHH:MM - HH:MM:SS
  • Geralmente a planilha gerada deve ser visualmente idêntica aos dados de origem, divergindo apenas o alinhamento das informações em alguns casos;
  • Em telas que possuírem mais de um grid/browser no mesmo folder, é exportado uma planilha por folder no visualizador do relatório (Office - Excel \ LibreOffice - Calc);
  • Durante a exportação do GotoExcel são utilizados arquivos base para efetuar algumas prévias formatações:
    • Caso utilize o Excel é gerado um arquivo .txt no diretório temporário da sessão, se utilizar o Calc é gerado um arquivo .csv.
  • Todos os dados que forem formatados como character recebem uma tag para garantir a formatação e visualização do dado:
    • A tag incluída é sempre sinal de igual mais aspas duplas (="dado");
    • Esta tag garante que um dado alfanumérico não sofra nenhuma formatação ou interpretação errônea da ferramenta de visualização (Office/LibreOffice) como:
      • Exponenciação no dado ou outra formatação na qual o dado possa ser mal interpretado pelas ferramentas de visualização do relatório.
  • Em caso de divergências com casas de dezena/centena/milhar e outras questões quanto a formatação dos decimais, validar se as configurações regionais estão de acordo tanto no client Windows quanto no visualizador do relatório (Excel ou Calc).
    • Um exemplo, no qual podem ocorrer problemas: Formato de milhar e centena americano no windows e formato brasileiro no Office/LibreOffice;
  • Muitas das alterações solicitadas, como retirar o sinal de igual e aspas duplas, resultam em uma série de impactos, tanto para os programas que já estão corretos quanto para os clientes que já estão adequados com fórmulas e filtros para esta situação.
    • Também há algumas inconsistências quanto a interpretação por parte dos programas utilizados para gerar/visualizar os relatórios (Office/LibreOffice); 
  • Caso utilize o LibreOffice Calc e se necessário, há um log da dll utilizada para integração do produto com o LibreOffice, que se encontra na pasta temporária do usuário (c:\users\usuário\temp) denominada dll.log. Caso venha ocorrer alguma exceção a mesma estará registrada neste arquivo.

Thin Template

Atentar quanto ao processo de exportação de dados utilizando o GotoExcel em modelos baseados no zoom do thintemplate.

Primeiramente deve-se filtrar os dados no zoom antes da exportação.

Se isto não é feito, todos os dados (abas) contidos no zoom são exportados.

Somente após este procedimento utilize o GotoExcel que exportará os dados corretamente.

ALERTA:

Caso o GotoExcel venha a apresentar inconsistências quanto as cores que diferenciam o cabeçalho do corpo da planilha é devido a um problema por conta de um suplemento de COM que está ativo no office. 

Outro sintoma apresentado é que ao abrir uma planilha já existente, é aberta também uma planilha em branco (Plan1). Para resolver esta situação basta remover o suplemento MYsql for excel.

Como desabilitar o suplemento:

  1. Acessar o Excel;
  2. No ficheiro Arquivo acessar Opções;
  3. Dentro de opções selecionar Suplementos;
  4. Na aba suplementos, na parte inferior da tela, no objeto list-box selecionar Suplementos de COM;
  5. Após isto clicar em Ir;
  6. Na tela seguinte desmarque a opção MYsql for excel;
  7. Em seguida clicar em OK;
  8. Feito isto feche o Excel e abra-o novamente.