方法一:使用制表符、换行符模拟Excel导出
$filename="ExportExcel.xls";//定义一个excel文件
header("Content-Type: application/vnd.ms-execl");
header("Content-Type: application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
//设置excel输出表头,当然这不是必须的
echo iconv("UTF-8", "gb2312", "ID")."\t";
echo iconv("UTF-8", "gb2312", "Col1")."\t";
echo iconv("UTF-8", "gb2312", "Col2")."\t";
echo iconv("UTF-8", "gb2312", "Col3")."\t";
echo iconv("UTF-8", "gb2312", "Col4")."\n";//注意这个要换行
//连接数据库
mysql_query("SET NAMES utf8");
$result="SELECT * FROM");
while($row =mysql_fetch_array($result)){
echo iconv("UTF-8", "gb2312", $row[0])."\t";
echo iconv("UTF-8", "gb2312", $row[1])."\t";
echo iconv("UTF-8", "gb2312", $row[2])."\t";
echo iconv("UTF-8", "gb2312", $row[3])."\t";
echo iconv("UTF-8", "gb2312", $row[4])."\n";
}
这个方法最简单,但是导出的文件并不是真正的Excel,无法设置格式,而且在Mac版的MS Office上无效。
php-excel
简单小巧的Excel类库,可自行修改相关代码设置单元格格式,导出的实际上市XML格式的电子表格,相关属性可参考MSDN文档。小技巧:可以先建一个Excel并将相关格式设置好,另存为XML,用文本编辑器打开XML即可查看相关格式的设置方法,其实和HTML、CSS差不多。PHPExcel
功能强大、全面,支持office2003、office2007与之相应的是过于臃肿。个人觉得一般应用的话,第二种方法就足够了,毕竟PHP处理office这些东西并非PHP的长项,在相关软件里点几下鼠标就能调整好的格式,又何必用PHP费大劲设置呢?