<?
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
?>
  在php环境运行上面的代码,大家就可以看到浏览器询问用户是否下载excel文档,点击保存,硬盘上就多了一个excel的文件,使用excel打开就会看到最终的结果,怎么样不错吧。
  其实在做真正的应用的时候,大家可以将数据从数据库中取出,然后按照每一列数据结束后加\t,每一行数据结束后加\n的方法echo出来,在php的 开头用header("Content-type:application/vnd.ms-excel");表示输出的是excel文件,用 header("Content-Disposition:filename=test.xls");表示输出的文件名为text.xls。这样就ok 了。
======================
baidu搜索看到这样一篇文章,实验了下
失败了,请各位看看分析下。谢谢.

解决方案 »

  1.   

    怎么个失败法??代码没啥问题。excel顺利示出想要的格式,可能跟office的版本有点关系【不确定】
      

  2.   

    test1 test2 test1 test2 test1 test2 test1 test2 test1 test2 test1 test2 
    ====================================
    顺利打印出以上文字。没有提示另存为,但是查看了执行后的源文件,显示如下:
    test1 test2
    test1 test2
    test1 test2
    test1 test2
    test1 test2
    test1 test2
      

  3.   

    我一个应用,设置好header之后,即使输出的是普通的table,也照样转换成xls了。
      

  4.   

       header("Pragma: public");
       header("Expires: 0");
       header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
       header("Content-Type: application/force-download");
       header("Content-Type: application/octet-stream");
       header("Content-Type: application/download");;
       header("Content-Disposition: attachment;filename=signup_".time().".xls "); 
       header("Content-Transfer-Encoding: binary ");