From df780bdf2e32b3f50f9f2476aeefe75f0ffb934a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alessandro=20Gon=C3=A7aalves?= Date: Mon, 20 Oct 2025 17:53:57 -0300 Subject: [PATCH] =?UTF-8?q?fix:=20corre=C3=A7=C3=A3o=20na=20exporta=C3=A7?= =?UTF-8?q?=C3=A3o=20com=20filtro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/DRE/analitico.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/app/DRE/analitico.tsx b/src/app/DRE/analitico.tsx index 0ce2dd7..6984ba8 100644 --- a/src/app/DRE/analitico.tsx +++ b/src/app/DRE/analitico.tsx @@ -309,8 +309,16 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { const exportToExcel = () => { if (data.length === 0) return; + // Usar dados filtrados da tabela em vez dos dados originais + const filteredData = table.getRowModel().rows.map(row => row.original); + + if (filteredData.length === 0) { + alert('Nenhum dado filtrado para exportar'); + return; + } + // Preparar dados para exportação - const exportData = data.map((item) => ({ + const exportData = filteredData.map((item) => ({ "Data Competência": new Date(item.data_competencia).toLocaleDateString( "pt-BR" ), @@ -337,8 +345,9 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { // Adicionar resumo na segunda aba const resumoData = [ - { Métrica: "Total de Registros", Valor: data.length }, + { Métrica: "Total de Registros", Valor: filteredData.length }, { Métrica: "Valor Total", Valor: totalValor }, + { Métrica: "Filtros Aplicados", Valor: columnFilters.length > 0 || globalFilter ? "Sim" : "Não" }, ]; const wsResumo = XLSX.utils.json_to_sheet(resumoData); @@ -349,7 +358,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { // Gerar nome do arquivo com data e hora const now = new Date(); const timestamp = now.toISOString().slice(0, 19).replace(/:/g, "-"); - const fileName = `analitico_${timestamp}.xlsx`; + const hasFilters = columnFilters.length > 0 || globalFilter; + const fileName = `analitico${hasFilters ? '_filtrado' : ''}_${timestamp}.xlsx`; // Fazer download XLSX.writeFile(wb, fileName);