Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Exportacion a Excel con PHP, Ajax Jquery y MYSQL

Estas en el tema de Exportacion a Excel con PHP, Ajax Jquery y MYSQL en el foro de PHP en Foros del Web. Hola Comunidad! Es mi primer posteo... espero que de muchos. Y no para pedir ayuda si no también ayudar! Estoy intentando lo siguiente. Quiero simplificar ...
  #1 (permalink)  
Antiguo 29/03/2016, 12:57
 
Fecha de Ingreso: marzo-2016
Mensajes: 2
Antigüedad: 8 años
Puntos: 0
Exportacion a Excel con PHP, Ajax Jquery y MYSQL

Hola Comunidad!

Es mi primer posteo... espero que de muchos. Y no para pedir ayuda si no también ayudar!

Estoy intentando lo siguiente. Quiero simplificar los reportes que obtienen proveedores de mi empresa para que puedan hacerlo directamente.
Armé un login con permisos, para que al loguearte te habilite los reportes que puedes necesitar. Ellos los necesitan en Excel.

Una vez logueado el usuario, y seleccionados los filtros necesarios para el reporte, estos viajan vía GET con un Ajax para consultar a la base de datos. Ejecuto un PHP que arma un excel con esas variables recibidas.

Si ejectuto el php solo, me abre el excel obviamente vacío al no recibir las variables...

Pero si ejecuto el botón exportar, con el firebug veo que se ejecuta bien pero fallo en el success del ajax... y no se abre el excel y nada pasa. Pero si veo la consola del firebug aparecen miles de caracteres raros...

supongo que en lo que fallo es en enviar en el success del ajax toda esa información a una ventana nueva para que tome los headers correctamente e interprete que se trata de un excel...

van los códigos..

JQUERY

function armar_informe_proveedor() {

procesando_emergente();

var desde = $("#periodo_desde").val();
var hasta = $("#periodo_hasta").val();
var id_sucursal = $("#id_depositos").val();

$.ajax({
url: "content/armar_informe_proveedor.php",
global: false,
type: "get",
data: ({
desde : desde,
hasta : hasta,
id_sucursal : id_sucursal
}),
dataType: "html",
success: function(transport){
$("#tabla").html(transport);
$("#form_procesando").hide();
}
});
}

EL PHP
el boton ejecutar
<div id=\"boton_buscar\">
<a href=\"#\" onclick=\"armar_informe_proveedor();\">
<img src=\"images/boton_buscar.gif\" />
</a>
</div>

El armado del excel
<?php
// Se modifican los encabezados del HTTP para indicar que se envia un archivo de Excel.
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="pruebaReal.xlsx"');
header('Cache-Control: max-age=0');
require_once ('../PHPExcel/Classes/PHPExcel.php');
error_reporting(E_ALL);
ini_set('display_errors', 1);
$objPHPExcel = new PHPExcel();
// Establecer propiedades
$objPHPExcel->getProperties()
->setCreator("Cattivo")
->setLastModifiedBy("Cattivo")
->setTitle("Documento Excel de Prueba")
->setSubject("Documento Excel de Prueba")
->setDescription("Demostracion sobre como crear archivos de Excel desde PHP.")
->setKeywords("Excel Office 2007 openxml php")
->setCategory("Pruebas de Excel");

$rsConn = conectar();

if(!session_id()) {
session_start();
}

set_time_limit(0);

// Agregar Informacion
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Valor 1')
->setCellValue('B1', 'Valor 2')
->setCellValue('C1', 'Total')
->setCellValue('A2', '10')
->setCellValue('C2', '=sum(A2:B2)');
// Renombrar Hoja
$objPHPExcel->getActiveSheet()->setTitle('Informe');

// Establecer la hoja activa, para que cuando se abra el documento se muestre primero.
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit();
?>

No está armada la consulta al MYSQL ya que si no logro armar este excel tan simple y mostrarlo luego de procesar el ajax.

Si ejecuto ese código así nomás, arma un excel y se abre bien.. Pero si lo hago a través del botón y el ajax no funciona.

Perdón si me extendí demasiado!

Saludos!
  #2 (permalink)  
Antiguo 30/03/2016, 08:14
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Exportacion a Excel con PHP, Ajax Jquery y MYSQL

Entonces, si es ajax el problema, pidele a un moderador que te mueva el post al foro correspondiente, esto es PHP t por lo que describes, no hay problemas de php visibles... saludos.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: ajax, excel, exportacion, html, jquery, mysql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:02.