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> </script>
<NavBarAutocompletable/> <NavBarAutocompletable/>
@@ -455,10 +484,13 @@
<div id="c6" class="accordion-collapse collapse" <div id="c6" class="accordion-collapse collapse"
data-bs-parent="#accordionExample"> data-bs-parent="#accordionExample">
<div class="accordion-body d-flex justify-content-center" > <div class="accordion-body d-flex justify-content-center" >
<div style="width: 500px; height: 500px;"> <div style="width: 500px; height: auto;">
{#if chartData != null} {#if chartData != null}
<FChart {chartData} typec="doughnut" /> <FChart {chartData} typec="doughnut" />
{/if} {/if}
<button class="btn btn-secondary mt-2" onclick={generarCSVEstadistica}>
Exportar CSV
</button>
</div> </div>
</div> </div>
</div> </div>
@@ -508,7 +540,6 @@
</div> </div>
{/each} {/each}
{#if max < prop.mesesDuracion} {#if max < prop.mesesDuracion}
{$inspect(max)}
<div class="card"> <div class="card">
<div class="card-header text-center"> <div class="card-header text-center">
Definir el interés para los siguientes Canones Definir el interés para los siguientes Canones