-1

我的功能

 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,但文件没有上面的标题和数据,但它显示了管理面板中存在的所有文本 在此处输入图像描述

有谁知道为什么会这样?

4

2 回答 2

0

您根本没有使用 api。请阅读文档并尝试使用 api。

关于您正在使用的代码,请使用\t(前后有空格)分隔字段。另外,不要octet-stream使用excels头文件。

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";
}
于 2012-05-14T07:09:09.367 回答
0

我的问题解决了。<link rel="stylesheet" href=""/> 实际上我已经在and下面调用了这个函数

<script type="text/javascript" src=".... .."></script>

一旦我移到这些CSS和脚本之上..我的问题就奇怪地解决了.......

于 2012-05-14T09:45:06.463 回答