:

PHP导出Excel

song100e 发布于:2015-5-29 18:14 分类:PHP  有 1011 人浏览,获得评论 0 条 标签: PHP Excel 

我们经常需要在后台导出数据,有时候是CVS格式,有时候又想要Excel文件。

PHP有专门处理CVS的函数,导出Excel文件又问题重重。

恰好今天有个Task, 于是记录下就算是总结吧!

<?php
$data = array(
	array('name'=>'qingsong','age'=>'12','course'=>'english'),
	array('name'=>'song100e','age'=>'18','course'=>'math'),
	array('name'=>'lindyAmy','age'=>'20','course'=>'chymistry'),
);

header("Content-Type: application/vnd.ms-excel;charset=gbk");
header("Content-Disposition: attachment; filename=test.xls");
header("Pragma: no-cache; Expires: 0");
$content = "<table border='1'><tr>";
$content.= "<td align='center'>".iconv('UTF-8', 'GBK', '姓名')."</td>";
$content.= "<td align='center'>".iconv('UTF-8', 'GBK', '年龄')."</td>";
$content.= "<td align='center'>".iconv('UTF-8', 'GBK', '课程')."</td></tr>";
foreach($data as $v){
	$content.= "<tr>";
	$content.= "<td width='150' align='center'>{$v['name']}</td>";
	$content.= "<td width='250' align='center'";
	$content.= " style='vnd.ms-excel.numberformat:@'>{$v['age']}</td>";
	$content.= "<td width='150' align='center'";
	$content.= " style='vnd.ms-excel.numberformat:@'>{$v['course']}</td>";
	$content.= "</tr>";
}
$content.= "</table>";
echo $content;
exit;

/** 备注
1,iconv('UTF-8', 'GBK', '姓名'):因为 Windows 平台的文件名编码为gb2312(gbk),
  为避免出现乱码,进行转码操作。
2,style='vnd.ms-excel.numberformat:@':能避免对纯数字的表格进行科学技术法。
3,width='250':设定表格宽度,避免显示不完全。
4,align='center':表格内容居中显示。
*/

赞助我,共同学习进步!
上一篇:单例模式
下一篇:通过composer安装YII2