Yo uso algo similar, pero aquí tienes incorporados ajax mezclado, no se si te sirva, pero utilizo este codigo para enviar una tabla a través de un input text, esta tabla se acciona y le permite al usuario guardar un reporte excel.
Esto esta en el archivo que envia el Post :
//esto en el <head></head>
//fijate en el #Exportar_a_Excel
Código Javascript
:
Ver original<script language="javascript">
$(document).ready(function() {
$(".botonExcel").click(function(event) {
$("#datos_a_enviar").val( $("<div>").append( $("#Exportar_a_Excel").eq(0).clone()).html());
$("#form").submit();
});
});
</script>
Esto en el body de este archivo:
//la info de la tabla se pasa al input hidden oculto
Código HTML:
Ver original<form name="form" action="ficheroExcelAsistencia.php" method="post" target="_blank" id="form"> <input id="button2" type="button" value="Exportar a Excel" class="botonExcel"/> <input type="hidden" id="datos_a_enviar" name="datos_a_enviar" />
Esta tabla esta en otro archivo que cargo con ajax (mira el id de la tabla):
Código HTML:
Ver original<table border="1" cellpadding="10" cellspacing="0" bordercolor="#666666" id="Exportar_a_Excel" style="border-collapse:collapse;">
// este fichero es la acción del formulario de arriba ficheroExcelAsistencia.php:
Código PHP:
Ver original<?php
header("Content-type: application/vnd.ms-excel; name='excel'"); header("Content-Disposition: attachment; filename=asistenciaTutor_$fecha.xls");
$tabla=$_POST['datos_a_enviar']; //aqui recibe el hidden que menciono mas arriba
echo $tabla;
?>