日期:2014-05-17  浏览次数:20527 次

关于php excel的问题
excel 模板
  A B C D 
1 姓名 性别 年龄 入学时间
2
3
..

sql 中有表people 字段 name/sex/age/time

能不能通过php语言 将sql表中的内容 根据我查询的结果 写入excel吗?

就像php中通过 表格$row[]输出结果类似的样子

需要学习哪些东西? 有没有一些比较详细的例子?

------解决方案--------------------
何必搞那么麻烦。用header设置头信息就能实现简单excel了。看我发的连接中的第一种方法。
------解决方案--------------------
顶,写csv格式的就行了, jordan的其实就是csv格式了。

PHP code
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");

$list = array (
                    array('aaa', 'bbb', 'ccc', 'dddd'),
                        array('123', '456', '789'),
                        array('"aaa"', '"bbb"')
                );

$fp = fopen("data.txt", 'w+');

foreach ($list as $fields) {
        fputcsv($fp, $fields, "\t");
}

fseek($fp, 0, SEEK_SET);
echo fread($fp, filesize('data.txt'));

fclose($fp);
?>

------解决方案--------------------
你那个方式太麻烦了,而且维护起来难度是在太大了
推荐我常用的一个方法,用header实现

首先按照你需要导出的报表样式,新建一个excel,弄完之后保存,这个时候保存为xml 2003格式的,保存好之后,用记事本打开,之后像组织网页一样,把数据组织进去

然后用以下的代码:
PHP code

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename");
echo $excel_content;

------解决方案--------------------
1:先把header部分注释掉,输出到页面上看是否正常。
2:在代码中把那些html标签删掉就是了。
------解决方案--------------------
查看 excel 时改下编码。
------解决方案--------------------
探讨

这个不难,phpexcel 这个类就能帮你做到了。
官网上有例子