我正在使用 PHP 通过 CSV 生成 Excel 文件。我正在使用一段非常简单的代码来准备整个函数,然后再用我自己的数据填充它:
$list = array (
array('#', 'Registrar', 'Country', 'Website', 'Email Address'),
array('123', '456', '789', 'aaa', 'bbb'),
array('123', '456', '789', 'aaa', 'bbb'),
);
$fp = fopen('myfile.xls', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields, "\t", '"');
}
fclose($fp);
代码工作正常。但是,它会自动将“myfile.xls”保存到执行 PHP 文件的目录中。我希望页面显示“打开/保存”对话框,让用户选择他/她想要保存文件的位置。我尝试了一些像这样的标题技巧:
header ("Content-Type: application/download");
header ("Content-Disposition: attachment; filename=myfile.xls");
header("Content-Length: " . filesize(myfile.xls));
但是,使用此功能时,导出的文件会显示页面内容(包括带有标题的页眉、菜单、页脚等),而不是“列表”变量中的数据......我无法阻止页眉和页脚都包含在 PHP 页面中,因为它是框架的一部分,所以我只想选择通过 PHP 的 CSV 函数生成的“myfile.xls”的存储位置。
我也考虑并尝试使用 PHPExcel 和其他旨在生成 Excel 的包,但我无法让它们中的任何一个正常工作。我已经浪费了太多天的时间来尝试它,所以我决定简单地创建一个 CSV 文件,这对于我的目的来说是可以的。我现在唯一需要的是“打开/保存”对话框,它对我来说是完美的。
提前感谢您的时间和精力!:)