如何使用php脚本导出excel文件

时间:2014-05-27 09:31:33

标签: php arrays excel

我正在使用php脚本导出excel表,我的代码是

<?php
    function excel_file(){     
    header("Content-Disposition: attachment; filename=\"demo.xls\"");
    header("Content-Type: application/vnd.ms-excel;");
    header("Pragma: no-cache");
    header("Expires: 0");
    $out = fopen("php://output", "w");
    foreach ($tabledata as $data)
    {
        fputcsv($out, $data,"\t");
    }
    fclose($out);
      } 
?>

HTML

<input type="button" name="excel_file" onclick="<?php excel_file(); ?>" value="Download File">

问题是:

  1. function excel_file()执行加载页面而非点击。

  2. 我得到的excel文件,包括整页数据,而不是该特定数组的数据&#34; $tabledata&#34;

1 个答案:

答案 0 :(得分:1)

您在按钮中包含该功能的输出。你不能将javascript onclick与php函数结合起来。

HTML:

<a href="your_url.php?action=xls">Excel</a>

然后在你的代码中

if(isset($_GET['action']) && $_GET['action'] == 'xls')
{
  excel_file();
  exit;
}

通过这种方式,您可以单击Excel链接并将该操作发送到服务器。 您可以使用$_GET['action']来捕获PHP并调用excel_file()函数。