ahora genera csv para excel

This commit is contained in:
2025-01-30 18:11:14 -03:00
parent 3b96248208
commit b98cf77807

View File

@@ -348,6 +348,35 @@
}
}
function generarCSVEstadistica() {
let contenido = ["Categorias", ...chartData.datasets.map((d: { label: any; }) => d.label)].join(",") + "\n";
chartData.labels.forEach((label: any, index: string | number) => {
let fila = [label, ...chartData.datasets.map((d: { data: { [x: string]: any; }; }) => d.data[index])].join(",");
contenido += fila + "\n";
});
contenido += "\n";
if (canons.length > 0) {
contenido += "ID,Mes Num,Mes,Monto,Divisa,Pago\n";
canons.forEach(c => {
let fila = [c.id, c.mesNum, String(c.mes).split("T")[0], c.monto, c.divisa, c.pago ? "Sí" : "No"].join(",");
contenido += fila + "\n";
});
}
let blob = new Blob([contenido], { type: "text/csv" });
let url = URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = url;
a.download = "chart_data.csv";
a.click();
URL.revokeObjectURL(url);
}
</script>
<NavBarAutocompletable/>
@@ -455,10 +484,13 @@
<div id="c6" class="accordion-collapse collapse"
data-bs-parent="#accordionExample">
<div class="accordion-body d-flex justify-content-center" >
<div style="width: 500px; height: 500px;">
<div style="width: 500px; height: auto;">
{#if chartData != null}
<FChart {chartData} typec="doughnut" />
{/if}
<button class="btn btn-secondary mt-2" onclick={generarCSVEstadistica}>
Exportar CSV
</button>
</div>
</div>
</div>
@@ -508,7 +540,6 @@
</div>
{/each}
{#if max < prop.mesesDuracion}
{$inspect(max)}
<div class="card">
<div class="card-header text-center">
Definir el interés para los siguientes Canones