我正在使用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">
问题是:
此function excel_file()
执行加载页面而非点击。
我得到的excel文件,包括整页数据,而不是该特定数组的数据&#34; $tabledata
&#34;
答案 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()
函数。