我的功能
function xlstest(){
$headers='SN'."\t".'Reservation ID'."\t".'Hotel Name'."\t".'Customer Name';
$data='1'."\t".'234'."\t".'My hotel name'."\t".'Jonny';
$filename='testing';
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");
echo "$headers\n$data";
}
在管理面板中调用此功能时,它将导出到Excel,但文件没有上面的标题和数据,但它显示管理面板中显示的所有文本
有谁知道为什么会这样?
答案 0 :(得分:0)
你根本没有使用phpexcel api。请阅读documentation并尝试使用api。
关于您正在使用的代码,请使用\t
(后面和前面有空格)分隔字段。
另外,使用excels头文件代替octet-stream
。
header('Content-type: application/ms-excel');
用法:
function xlstest(){
$headers='SN'." \t ".'Reservation ID'." \t ".'Hotel Name'." \t ".'Customer Name';
$data='1'." \t ".'234'." \t ".'My hotel name'." \t ".'Jonny';
$filename='testing';
header("Content-type: application/ms-excel");
header("Content-Disposition: attachment; filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");
echo "$headers\n$data";
}
<强>更新强>:
要导出CSV文件,您可以执行以下操作。它几乎相同,但分隔符是逗号,而内容类型是application/vnd.ms-excel
。
function csvtest(){
$headers='SN'.",".'Reservation ID'.",".'Hotel Name'.",".'Customer Name';
$data='1'.",".'234'.",".'My hotel name'.",".'Jonny';
$filename='testing';
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=".$filename.".csv");
header("Pragma: no-cache");
header("Expires: 0");
echo "$headers\n$data";
}
答案 1 :(得分:0)
我的问题解决了。实际上我在<link rel="stylesheet" href=""/>
和
<script type="text/javascript" src=".... .."></script>
一旦我超越了这些css和脚本......我的问题就解决了奇怪.......