Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2015, 11:18
oggy_15_3
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Phpexcel con ajax

Me respondo a mi mismo

La solución es:

Código PHP:
Ver original
  1. //...
  2. //....
  3.     ob_start();
  4. $objWriter->save("php://output");
  5. $xlsData = ob_get_contents();
  6.  
  7. $opResult = array(
  8.         'status' => 1,
  9.         'data'=>"data:application/vnd.ms-excel;base64,".base64_encode($xlsData)
  10.      );
  11.     echo json_encode($opResult);

desde JS:
Código Javascript:
Ver original
  1. $.ajax({
  2.             async:true,
  3.             type:"POST",
  4.             dataType:"html",//html
  5.             contentType:"application/x-www-form-urlencoded",//application/x-www-form-urlencoded
  6.             url:"resp_export_xls.php",
  7.             data:aParams,
  8.             beforeSend: function(){},
  9.             success:function(data){
  10.                 //alert(data);
  11.                 var opResult = JSON.parse(data);
  12.                       var $a=$("<a>");
  13.                       $a.attr("href",opResult.data);
  14.                       //$a.html("LNK");
  15.                       $("body").append($a);
  16.                       $a.attr("download","hola.xlsx");
  17.                       $a[0].click();
  18.                       $a.remove();
  19. //..
  20. //...
Son las secciones más importantes.
Espero a alguien le sirva en algun momento.
NOTA: No todo es felicidad, no funciona en IE, una razón más para odiarlo

Por mi parte seguiré buscando soluciones para IE, ya que estoy en un gran proyecto y tiene que ser compatible con todos los navegadores o por lo menos en los más comunes

Saludos!.