Browse Source

subo cambios exportar actualizado FUNCIONAL

FREDY 2 months ago
parent
commit
5ff9a578ca

+ 11 - 11
Back/backendP-Educativa/.env

@@ -8,21 +8,21 @@ LOG_CHANNEL=stack
 LOG_DEPRECATIONS_CHANNEL=null
 LOG_LEVEL=debug
 
-# DB_CONNECTION=mysql
-# DB_HOST=127.0.0.1
-# DB_PORT=3306
-# # DB_DATABASE=p_educativa
-# DB_DATABASE=platafor_plateduqa
-# DB_USERNAME=root
-# DB_PASSWORD=root
-
 DB_CONNECTION=mysql
 DB_HOST=127.0.0.1
 DB_PORT=3306
 # DB_DATABASE=p_educativa
-DB_DATABASE=qaplataformaeduc_qadb
-DB_USERNAME=qaplataformaeduc_qaus
-DB_PASSWORD=Q%QgpT{w;TK2
+DB_DATABASE=platafor_plateduqa
+DB_USERNAME=root
+DB_PASSWORD=root
+
+# DB_CONNECTION=mysql
+# DB_HOST=127.0.0.1
+# DB_PORT=3306
+# # DB_DATABASE=p_educativa
+# DB_DATABASE=qaplataformaeduc_qadb
+# DB_USERNAME=qaplataformaeduc_qaus
+# DB_PASSWORD=Q%QgpT{w;TK2
 
 BROADCAST_DRIVER=log
 CACHE_DRIVER=file

+ 7 - 7
Back/backendP-Educativa/app/Http/Controllers/NivelExportController.php

@@ -154,14 +154,14 @@ class NivelExportController extends Controller
         }
 
         $sheet->setAutoFilter("H4:$lastCol" . '4');
+$writer = new Xlsx($spreadsheet);
+$filename = "$titulo.xlsx";
 
-        $writer = new Xlsx($spreadsheet);
-        $filename = "$titulo.xlsx";
-        $tempPath = tempnam(sys_get_temp_dir(), $filename);
-        $writer->save($tempPath);
+return response()->streamDownload(function () use ($writer) {
+    $writer->save('php://output');
+}, $filename, [
+    'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+]);
 
-        return response()->download($tempPath, $filename, [
-            'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
-        ]);
     }
 }

+ 21 - 7
Front/src/app/modules/Administrador/services/export-excell.service.ts

@@ -23,13 +23,27 @@ private URL: string = environments.baseUrl;
 
 
  // 🔹 Exportar todo
-  exportAll(tabla: string) {
-    const url = `${this.URL}/exportar-excel?tabla=${tabla}`;
-    this.http.get(url, { responseType: 'blob', withCredentials: true }).subscribe({
-      next: (blob) => this.descargarArchivo(blob, `${this.nombreArchivo(tabla)}.xlsx`),
-      error: (error) => this.manejarError(error)
-    });
-  }
+exportAll(tabla: string) {
+  const url = `${this.URL}/exportar-excel?tabla=${tabla}`;
+  this.http.get(url, { responseType: 'blob', withCredentials: true }).subscribe({
+    next: (blob) => {
+      console.log('👉 Tipo MIME recibido:', blob.type, 'Tamaño:', blob.size);
+
+      // Si no es Excel, mostrar el contenido como texto
+      if (blob.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
+        blob.text().then(texto => {
+          console.error('⚠️ El servidor no devolvió Excel, devolvió:', texto);
+          Swal.fire('Error', 'El servidor devolvió un error en lugar del Excel', 'error');
+        });
+        return;
+      }
+
+      this.descargarArchivo(blob, `${this.nombreArchivo(tabla)}.xlsx`);
+    },
+    error: (error) => this.manejarError(error)
+  });
+}
+
 
   // Helpers
   private nombreArchivo(tabla: string): string {

+ 1 - 1
Front/src/environments/environments.ts

@@ -1,6 +1,6 @@
 export const environments = {
     // baseUrl:'http://192.168.200.2:8000/api'
     // baseUrl:'http://127.0.0.1:8000/api'
-    baseUrl:'https://qa.plataforma-educativa.com.mx/back/public/api/'
+    baseUrl:'https://qa.plataforma-educativa.com.mx/back/public/api'
 
 }