0

我正在尝试使用发布请求下载 excel 文件.. 我想知道这是否只能使用某种隐藏的 iframe 或使用闪存来完成,正如我在某些帖子中所读到的,但我不知道该怎么做。这是我到目前为止的代码..

员工Excel.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;

          }

          });
       }
4

1 回答 1

0

该文件不是空的,只是格式错误。

表格 ( <tr><td>...) 的 HTML 标记不被识别为 Excel 文件语法。您需要创建一个真正的 Excel 文件才能使用.xls输出文件的扩展名。

例如,尝试使用.txt而不是.xls重命名下载文件的文件扩展名并打开它。您将看到 HTML 表格输出,它不是 Excel 语法。

看看这个优秀的 PHP 库来生成 Excel 文件 http://phpexcel.codeplex.com/

于 2013-07-20T21:51:26.350 回答