php 导出数据到excel类
2024-10-09 09:47:55
原文链接地址:http://www.oschina.net/code/snippet_212240_21885
标注:在使用时一定要屏蔽掉//$bodyVal = $this->charset($bodyVal);,不然传到里面的中文变量输不出来,这个应该是转换编码格式的。
<?php /** * 导出到excel文件(一般导出中文的都会乱码,需要进行编码转换) * 使用方法如下 * $excel = new Excel(); * $excel->addHeader(array('列1','列2','列3','列4')); * $excel->addBody( array( array('数据1','数据2','数据3','数据4'), array('数据1','数据2','数据3','数据4'), array('数据1','数据2','数据3','数据4'), array('数据1','数据2','数据3','数据4') ) ); * $excel->downLoad(); */ class Excel{ private $head; private $body; /** * * @param type $arr 一维数组 */ public function addHeader($arr){ foreach($arr as $headVal){ $headVal = $this->charset($headVal); $this->head .= "{$headVal}\t "; } $this->head .= "\n"; } /** * * @param type $arr 二维数组 */ public function addBody($arr){ foreach($arr as $arrBody){ foreach($arrBody as $bodyVal){ //$bodyVal = $this->charset($bodyVal); $this->body .= "{$bodyVal}\t "; } $this->body .= "\n"; } } /** * 下载excel文件 */ public function downLoad($filename=''){ if(!$filename) $filename = date('YmdHis',time()).'.xls'; header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=$filename"); header("Content-Type:charset=gb2312"); if($this->head) echo $this->head; echo $this->body; } /** * 编码转换 * @param type $string * @return string */ public function charset($string){ return iconv("utf-8", "gb2312", $string); } } ?>
最新文章
- Java上等价类划分测试的实现
- H5(二)
- 传输层协议TCP和UDP
- 10款最新流行的 jQuery 插件,值得你收藏
- 对于C(n,k)取模
- 【poj1112】 Team Them Up!
- 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)
- 你需要知道的Sass插值
- 【学习笔记】Xcode常见设置
- PHP session过期时间
- SQL Server 存储过程分页
- 单线多拨,傻瓜式openwrt单线多拨叠加速率教程
- Direct3D 光照和材质
- HDU1506(单调栈或者DP) 分类: 数据结构 2015-07-07 23:23 2人阅读 评论(0) 收藏
- ThinkPHP创建应用的一般开发流程
- 从java1到java9每个版本都有什么新特性?
- 了解 Python 语言中的时间处理
- CentOS 7 Squid代理服务器正向代理-透明代理
- VIM快速复制多行
- Python-HTML转义字符