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 com 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 comportamentos não previstos 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.
Informações |
---|
Se tratando 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 venha a atender as necessidades |
Painel |
---|
title | 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;
|
Painel |
---|
title | Características Gerais: |
---|
|
- Muitas das alterações solicitadas, como retirar o sinal de igual e aspas duplas, resultam em uma serie de impactos, tanto para os programas que já estão corretos, quanto para os clientes que já estão adequados com formulas 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);
- Este programa gera planilhas com extensão .xlsx a partir de uma tela que possua grid/browser com formatação de cabeçalho/conteúdo/rodapé ou caso não possuir grid/browser gerará uma planilha com os devidos dados, porem, 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 click no grid/browser antes da execução do gatilho;
- Caso o programa que venha ser utilizado para exportação, possua varias folders/paginas com grids/browsers será exportado a pagina visível, no caso a pagina que esta 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 temos como garantir todas as formatações, mas dentro do possível, formatamos 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 serie de logicas para tentar validar a formatação de origem, mas, talvez não atenda todos os casos. Um exemplo é o programa demonstrativo contábil (mgl204aa), onde 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)" e o fato do dado em sua origem ser character e ainda possuir um caractere especial, no caso o parêntese "()" acaba sendo formatado como character na planilha final, o que resulta em alguns impeditivos para que utiliza formulas na planilhas. Nestes casos, a situação deve ser tratada pelo time responsável do programa de negócio em questão;
- Formatações efetuadas atualmente:
- character: @
- decimal: #.##,##
- integer: ####
- data: DD/MM/AA - DD/MM/AAAA - DD/MM/AAAA HRS
- time: HH:MM - HH:MM:SS;
- No geral a planilha gerada devera ser visualmente idêntica aos dados de origem, divergindo apenas em alguns casos o alinhamento das informações;
- Em telas que possuírem mais de um grid/browser na mesma folder, sera 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 previas formatações, caso estiver utilizando o Excel, será gerado um arquivo .txt no diretório temporário da sessão, se estiver utilizando o Calc é gerado um arquivo .csv;
- Caso utilize o LibreOffice Calc e eventualmente se fizer 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;
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 ex onde podem ocorrer problemas.: Formato de milhar e centena americano no windows e formato brasileiro no Office/LibreOffice;
|
Nota |
---|
Todos os dados que forem formatados como character receberam uma tag para fim de garantir a formatação e visualização do dado. A tag incluída será 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; |
Fluxo de exportação:
draw.io Diagram |
---|
border | true |
---|
viewerToolbar | true |
---|
| |
---|
fitWindow | false |
---|
diagramName | Fluxo goto |
---|
simpleViewer | false |
---|
width | |
---|
diagramWidth | 1241 |
---|
revision | 2 |
---|
|
Aviso |
---|
|
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" . Desabilitando o suplemento: Acessar o Excel, no ficheiro "Arquivo", acessar "Opções", dentro de opções selecionar "Suplementos", na aba suplementos, na parte inferior da tela no objeto list-box selecionar "Suplementos de COM" após isto clicar em "Ir", na tela seguinte desmarque a opção "MYsql for excel" e em seguida clicar em "ok", feito isto é só fechar o Excel e abri-lo novamente. |