header导出excel文件

之前一直都用PHPExcel导出excel文件,方便且强大。没有人提及的话,都根本不知道可以通过header设置报文首部字段来实现excel的导出。

这段时间来,虽然说一直都在进步,但是还远远不够,对一些基础中的基础原理了解甚少,比方这次的HTTP原理。大学读的不是计算机专业,甚至跟计算机没哪怕一丁点关系,但这不能成为借口。现在要做的是安排好自己的时间,见缝插针地恶补计算机各种原理基础,只有牢固地掌握基础,才不会比科班出身的人差。

好吧,有点偏离主题了。下面贴上代码:

header("Content-Type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test.xls");

$head = ['id', 'title', 'content', 'status'];
$body = [
    [1, 'title', 'content', 1],
    [2, 'title', 'content', 2],
    [3, 'title', 'content', 3]
];


$value[] = implode("\t", $head);

foreach($body as $v) {
    $value[] = implode("\t", $v);
}

$value = implode("\n", $value);

echo iconv('utf-8', 'gbk//TRANSLIT', $value);

以上代码模拟了导出数据库查询后得到的列表,要注意的是,iconv函数的第二个参数需要加上 //TRANSLIT ,原因见官方手册。

\t\n,用这两个字符的原因,试试在Excel里面使用 TabEnter 键就懂了。

你可能感兴趣的:(PHP)