fix: correção na exportação com filtro

This commit is contained in:
Alessandro Gonçaalves 2025-10-20 17:53:57 -03:00
parent a4c751851b
commit df780bdf2e
1 changed files with 13 additions and 3 deletions

View File

@ -309,8 +309,16 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
const exportToExcel = () => { const exportToExcel = () => {
if (data.length === 0) return; 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 // Preparar dados para exportação
const exportData = data.map((item) => ({ const exportData = filteredData.map((item) => ({
"Data Competência": new Date(item.data_competencia).toLocaleDateString( "Data Competência": new Date(item.data_competencia).toLocaleDateString(
"pt-BR" "pt-BR"
), ),
@ -337,8 +345,9 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
// Adicionar resumo na segunda aba // Adicionar resumo na segunda aba
const resumoData = [ 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: "Valor Total", Valor: totalValor },
{ Métrica: "Filtros Aplicados", Valor: columnFilters.length > 0 || globalFilter ? "Sim" : "Não" },
]; ];
const wsResumo = XLSX.utils.json_to_sheet(resumoData); 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 // Gerar nome do arquivo com data e hora
const now = new Date(); const now = new Date();
const timestamp = now.toISOString().slice(0, 19).replace(/:/g, "-"); 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 // Fazer download
XLSX.writeFile(wb, fileName); XLSX.writeFile(wb, fileName);