Administração do sistema
Manipulação de planilhas com o Telescope Script Engine
RT.FAQ-83937
Os comandos abaixo permitem usar o Telescope Script Engine para alterar campos de uma planilha "template" existente com informações capturadas através de queries.
Com estes comandos é possível escrever uma operação customizada que irá disponibilizar uma planilha preenchida com dados do sistema. Para fazer isso, é necessário proceder da seguinte maneira:
- Preparar a planilha (arquivo xls, xlsx ou odt) desejada sem os dados preenchidos
- Fazer o upload desta planilha para a pasta files (ou alguma sub-pasta da mesma)
- Criar uma operação custom implementada com o Telescope Script Engine.
- O script deverá:
- Abrir o arquivo da planilha.
- Posicionar na aba/célula desejada
- Preencher os dados através de queries do sistema
- Salvar a planilha preenchida com outro nome em uma área temporária
- Disponibilizar o link para o usuário baixar.
Exemplo:
open-workbook template01.xlsx;
select-sheet Planilha2;
select-cell B5;
update-cells c.nome_completo, sum(p.total_pedido)
from pedidos p
join pessoas c on c.id = p.cliente_id
where p.data_emissao >= (now()::date - 30)
group by c.nome_completo
order by 2 desc;
select-sheet Planilha3;
select-cell C2;
update-cells c.nome_completo, sum(p.total_pedido)
from pedidos p
join pessoas c on c.id = p.cliente_id
where p.data_cancelamento >= (now()::date - 30)
group by c.nome_completo
order by 2 desc;
save-workbook temp/kx1.xlsx;
file-link temp/kx1.xlsx;
OPEN-WORKBOOK - Abrir arquivo template
Abre um arquivo de template onde os dados serão inseridos.
open-workbook nome-do-arquivo;
O arquivo deve existir na estrutura de arquivos da aplicação (pasta files).
Exemplo:
open-workbook templates/sint.xlsx;
SELECT-SHEET - Selecionar planilha
Seleciona uma determinada planilha (aba) do arquivo. Por padrão, ao abrir o arquivo a primeira planilha é automaticamente selecionada.
Exemplo:
select-sheet planilha2;
SELECT-CELL - Selecionar célula
Selecione/posiciona o cursor em uma célula específica. Alterações realizadas na planilha serão sempre realizadas a partir da célula selecionada.
Exemplo:
select-cell B10;
UPDATE-CELLS - Alterar o conteúdo das células=
Este comando permite literalmente colar os dados de uma consulta SQL em uma parte da planilha. A sintaxe é igual ao do comando SELECT apenas substituindo a palavra SELECT por UPDATE-CELLS:
update-cells coluna [, coluna ...]
from tabela
join ...
where ...
order by ...;
Exemplo:
update-cells pessoa, nome_completo
from pessoas
where situacao = 'P'
order by nome_completo;
SAVE-WORKBOOK - Salvar planilha
Este comando salva a planilha alterada em um arquivo do repositório de arquivos.
Deve-se tomar o cuidado de não salvar sobre o template.
Nomes iniciando com "temp/" são considerados temporários, não são replicados e nem ficam disponíveis por mais de 24 horas.
O arquivo será sempre do mesmo formato que o template, por isso, a extensão utilizada deve ser a mesma que a do template utilizado.
Exemplo:
save-workbook teste.xlsx;
FILE-LINK - Disponibilizar um link para download de um arquivo
Este comando permite disponibilizar um link para que o usuário possa baixar a planilha resultante.
Exemplo:
link-files teste.xlsx;
HIDE-SHEET-COLUMN
Esconde uma determinado coluna da planilha.
Exemplo:
hide-sheet-column J;