我试图使用帖子请求下载excel文件..我想知道这是否只能使用某种隐藏的iframe或者可能使用flash,因为我已经阅读了一些帖子但是我不知道该怎么做这个。这是我到目前为止的代码..
employeeExcel.php
<?php
require_once ("../models/employeesModel.php");
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=reporteEmpleados.xls");
$employees = new Employee();
$emp = $employees->search_empleados();
?>
<html>
<body>
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Nombre</th>
<th>Apellido</th>
<th>Tipo Doc.</th>
<th>Email</th>
</tr>
</thead>
<?php
foreach ($emp as $datos) {
$id = $datos["id_employee"];
$image = $datos["image"];
$name = $datos["employee_name"];
$surname = $datos["employee_surname"];
$dni = $datos["dni"];
$email = $datos["email"];
?>
<tbody>
<tr id="<?php echo $id; ?>">
<td> <?php echo $name; ?></td>
<td> <?php echo $surname; ?></td>
<td> <?php echo $dni; ?></td>
<td> <?php echo $email; ?></td>
</tr>
</tbody>
<?php
}
?>
</table>
<button onclick="employeeExcel();
return false" name="export">Export</button></a>
这是我做ajax帖子的地方
function employeeExcel() {
var uri = "employees.php";
$.ajax({
url: uri,
type: 'POST',
data: datos,
success: function() {
window.location = uri;
}
});
}
答案 0 :(得分:0)
该文件不为空,但格式错误。
表(<tr><td>
...)的HTML标记不会被识别为Excel文件语法。您需要创建一个真实的Excel文件以使用输出文件的扩展名.xls
。
例如,尝试使用.txt
而不是.xls
重命名下载文件的文件扩展名并将其打开。您将看到HTML表输出,这不是Excel语法。
查看这个优秀的PHP库,生成Excel文件http://phpexcel.codeplex.com/