Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2015, 15:52
oggy_15_3
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Phpexcel con ajax

Hola a Todos,
He estado trabajando con phpExcel desde ya varios meses y no había tenido problemas hasta ahora en generar archivos excel de todo tipo.
Hasta la fecha he estado enviando datos desde javascript de la siguiente manera.

window.open('reporte_prueba.php?reporte=demo&....& ...');

Utilizo la sintaxis anterior para abrir una página de manera temporal
ya que mi página php tiene como última instrucción crear el archivo excel sin que esta se guarde en la pc a través del output

Código PHP:
$nom_file="post_get";
    
//Excel5
    
header('Content-Type: application/vnd.ms-excel');//PARA EXCEL5
    
header("Content-Disposition: attachment;filename=".$nom_file.".xls");
    
header('Cache-Control: max-age=0');
    
$objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel5');//Excel5    
    
$objWriter->save('php://output');
    exit; 
Lo que quisiera saber es que si alguien ha podido enviar datos
usando AJAX, enviando parámetros que no sean de tipo concatenación
como lo describí inicialmente, sino mandando datos
tipo array por decir.
EJM:

Código Javascript:
Ver original
  1. var aDetalle=Array();
  2.       aDetalle[0]={nTelefono:'3885957',nActivo:1};
  3.       aDetalle[1]={nTelefono:'940243730',nActivo:1};
  4.      
  5.       var sPagina="resp_post_get.php";
  6.       var aParams={};
  7.       aParams['sCliente']=sCliente;
  8.       aParams['nEdad']=nEdad;
  9.       aParams['aDetalle']=JSON.stringify(aDetalle);
  10.       $.ajax({
  11.         async:true,
  12.         type:"POST",
  13.         dataType:"html",//html
  14.         contentType:"application/x-www-form-urlencoded",
  15.         url:sPagina,
  16.         data:aParams,
  17.         beforeSend: function(){},
  18.         success:function(output){
  19.             alert(output);
  20.             window.location=output.url;
  21.            
  22.         },
  23. ...
  24. ..

Cabe recalcar que sí he hallado la manera de generar el archivo excel
de la manera que solicito, pero sólo me funciona cuando creo el archivo excel y lo guardo primero en la pc. LO QUE QUIERO ES SEGUIR USANDO el "output"

Gracias por tomarse el tiempo en leer el post. Ojala alguien haya logrado esta hazaña