Geração de planilhas em Excel Office/Calc LibreOffice através do gatilho "ctrl+alt+E"
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.
Fluxo de exportação:
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlJhZmFlbCBDZXNhciBCb3JnZXMiLCJvdXRwdXRUeXBlIjoiYmxvY2siLCJsYXN0TW9kaWZpZXJOYW1lIjoiUmFmYWVsIENlc2FyIEJvcmdlcyIsImxhbmd1YWdlIjoiZW4iLCJkaWFncmFtRGlzcGxheU5hbWUiOiIiLCJzRmlsZUlkIjoiIiwiYXR0SWQiOiI0NDU2NjQyNjUiLCJkaWFncmFtTmFtZSI6IkZsdXhvIGdvdG8iLCJhc3BlY3QiOiIiLCJsaW5rcyI6ImF1dG8iLCJjZW9OYW1lIjoiQ2FyYWN0ZXLDrXN0aWNhcyBHb3RvRXhjZWwiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjQ0NTY1MTI3NywiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6NDQ1NjUxMjc3LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjozLCJtYWNyb0lkIjoiZmExNjg0ZDktMzBkMC00MmZlLThkYzktM2JlNDM4MTY0ODc1IiwicHJldmlld05hbWUiOiJGbHV4byBnb3RvLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJFVkFMX0VYUElSRUQiLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoiMTI0MSIsInNpbXBsZVZpZXdlciI6ZmFsc2UsImxhc3RNb2RpZmllZCI6MTU0NTIzMjY1MzA3MCwiZXhjZWVkUGFnZVdpZHRoIjpmYWxzZSwib0NsaWVudElkIjoiIn0=
- 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.
- 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;