Bom dia,
Atualmente tenho um processo que gera um relatório em PDF com dados de um dataset. Agora surgiu a demanda de gerarmos esse relatório também em Excel.
Alguém sabe se isso é possível, tem um exemplo, ou documentação que fale sobre isso?
Bom dia,
Atualmente tenho um processo que gera um relatório em PDF com dados de um dataset. Agora surgiu a demanda de gerarmos esse relatório também em Excel.
Alguém sabe se isso é possível, tem um exemplo, ou documentação que fale sobre isso?
Bom dia Matheus,
Pelo que entendi o relatório será gerado em um processo, correto?
O que pode fazer é criar uma função javascript no teu formulário que consultará o Dataset e converterá os dados do JSON para CSV.
EDIT : 26/05/2020 - Incluido as colunas no cabeçalho do documento
// Monta o 'corpo' do arquivo CSV
function geraCSV( dataset ){
var dados = dataset.values;
var colunas = dataset.columns;
console.log(colunas);
var array = typeof dados != 'object' ? JSON.parse(dados) : dados;
var str = '';
var lin = '';
for (var c = 0; c < colunas.length; c++) {
lin += colunas[c] + ",";
}
str += lin + '\r\n';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var c=0; c<colunas.length; c++) {
if (line != '') line += ','
line += array[i][colunas[c]];
}
str += line + '\r\n';
}
return str;
}
// Consulta o dataset e gera um link para download do arquivo CSV montado pela geraCSV
function exportCSV(){
var ds = DatasetFactory.getDataset("colleague",null,null,null);
var a = document.createElement('a');
a.href = 'data:attachment/csv,' + encodeURIComponent( geraCSV(ds) );
a.target = '_blank';
a.innerText ="CLIQUE PARA EXPORTAR O CSV";
a.download = 'meuDataset.csv';
$("#MINHA_DIV").append(a);
return true;
}
Basta chamar a sua função exportCSV()
no momento que precisar. Lembrando que será necessário importar o arquivo vcXMLRPC.js
para utilizar a consulta ao DATASET
Espero que ajude. Abs.
Top demais cara! Valeu a ajuda!
— Matheus Schwingel Kern 29 de May de 2017
Você quer gerar um relatório de que exatamente? Dos processos? Dados do formulário? Alguma mensura específica?
— Gustavo Martins de Souza 29 de May de 2017