thinkphp 3.2与phpexcel

thinkphp版本:3.2

1.在http://phpexcel.codeplex.com/下载最新PHPExcel

2.把Classes目录下的文件(PHPExcel.php和PHPExcel文件夹)放到ThinkPHP\Library\Org\Util目录下;并且把PHPExcel.phpg改名为PHPExcel.class.php

3.导出数据

public function out(){
        $data=array(
            array(‘username‘=>‘zhangsan‘,‘password‘=>"123456"),
            array(‘username‘=>‘lisi‘,‘password‘=>"abcdefg"),
            array(‘username‘=>‘wangwu‘,‘password‘=>"111111"),
            );
        //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
        import("Org.Util.PHPExcel");
        import("Org.Util.PHPExcel.Writer.Excel5");
        import("Org.Util.PHPExcel.IOFactory.php");

        $filename="test_excel";
        $headArr=array("用户名","密码");
        $this->getExcel($filename,$headArr,$data);
    }

    private    function getExcel($fileName,$headArr,$data){
            //对数据进行检验
            if(empty($data) || !is_array($data)){
                die("data must be a array");
            }
            //检查文件名
            if(empty($fileName)){
                exit;
            }

            $date = date("Y_m_d",time());
            $fileName .= "_{$date}.xls";

            //创建PHPExcel对象,注意,不能少了\
            $objPHPExcel = new \PHPExcel();
            $objProps = $objPHPExcel->getProperties();

            //设置表头
            $key = ord("A");
            foreach($headArr as $v){
                $colum = chr($key);
                $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.‘1‘, $v);
                $key += 1;
            }

            $column = 2;
            $objActSheet = $objPHPExcel->getActiveSheet();
            foreach($data as $key => $rows){ //行写入
                $span = ord("A");
                foreach($rows as $keyName=>$value){// 列写入
                    $j = chr($span);
                    $objActSheet->setCellValue($j.$column, $value);
                    $span++;
                }
                $column++;
        }

            $fileName = iconv("utf-8", "gb2312", $fileName);
            //重命名表
               // $objPHPExcel->getActiveSheet()->setTitle(‘test‘);
            //设置活动单指数到第一个表,所以Excel打开这是第一个表
            $objPHPExcel->setActiveSheetIndex(0);
            header(‘Content-Type: application/vnd.ms-excel‘);
            header("Content-Disposition: attachment;filename=\"$fileName\"");
            header(‘Cache-Control: max-age=0‘);

              $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘);
            $objWriter->save(‘php://output‘); //文件通过浏览器下载
            exit;
        }
时间: 2024-10-12 17:27:29

thinkphp 3.2与phpexcel的相关文章

thinkphp整合系列之phpexcel生成生成excel文件

在后台管理中会经常需要将数据生成excel表格的: php生成excel有两种方案: 一种是通过phpexcel生成xls格式的表格文件: 另一种则直接通过逗号换行生成csv格式的表格文件: 这里先讲解thinkphp整合phpexcel的过程: 示例项目:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin 一:导入phpexcel /ThinkPHP/Library/Vendor/PHPExcel 二:生成excel的函数 /** * 数组

部分服务器使用phpExcel会报错

其中一个错误提示是:Fatal error: 'break' not in the 'loop' or 'switch' context in /var/www/htdocs/hanya/ThinkPHP/Library/Org/Util/PHPExcel/Calculation/Functions.php on line 576这就要在 Functions.php 文件里找到 TYPE 方法,然后把里面的 break 全部去掉

thinkphp3.2与phpexcel解析

1.impot导入 第一种方式: import("Org.Util.PHPExcel.TextT"); $tt = new \TextT(); //创建PHPExcel对象,注意,不能少了echo $tt->ss(); 对应ThinkPHP\Library\Org\Util\PHPExcel\TextT.class.php文件 第二种: require(LIB_PATH.'Org/Util/PHPExcel/TextT.php'); $tt = new \TextT(); //创

tp phpexcel 导入后台访问方法

public function addall(){ $Water = M('Waterrate'); $config = array( 'maxSize' => 0, 'rootPath' => 'Public', 'savePath' => '/Home/excel/', 'saveName' => array('uniqid',''), 'exts' => array('xlsx','xls'), ' autoSub' => false, 'subName' =&g

PHPExcel上传sae遇到: -1:fail to get xml content

在用PHPExcel1.8.0来处理excel时,本地测试时好使的,但是要把代码部署到SAE,在上传代码的时候就会遇到这个问题. 部署代码中遇到问题: -1:fail to get xml content 在网上查了下,好多人在用wordpress和weiPHP的时候也遇到了这个问题,解决办法是,用wordpress for sae,weiPHP也是修改那什么代码,对PHPExcel没什么参考价值.暂时我也不知道这个问题对自己的应用有什么影响,所以暂且略过. 在结束部署之后,访问页面的时候,在需

tp中phpexcel导出实例

public function phpexcel(){ //测试$this->display("User:xx");//跨模块分配页面User模块xx.html // xx\ThinkPHP/Extend/Vendor/Excel/PHPExcel.php Vendor('Excel.PHPExcel'); //导入thinkphp第三方类库 //创建一个读Excel模板的对象 $objReader=PHPExcel_IOFactory::createReader('Excel5

Thinkphp 用PHPExcel 导入Excel

搞了个简单的Excel导入, 用的是PHPExcel(百科:用来操作Office Excel文档的一个PHP类库, 基于微软的OpenXML标准和PHP语言) 好, 不说了, 开始吧... 首先得有PHPExcel类库, 点这里下载 https://github.com/Zmwherein/PHPExcel.git 然后把它放在 \ThinkPHP\Library\Vendor(个人喜好, 能引入就行了) 如图: PHPExcel.php 类似一个入口文件. 可以进去看看里面写的方法是怎个跑法.

ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格

下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Excel 数据 控制器自定,这里用 IndexController.class.php <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { // 导入 Exc

基于ThinkPHP开发的PHPExcel导出

首先我们需要去PHPExcel官网下载开源包 下载好了以后只需要把里面的classes文件夹解压出来就可以用了! 在ThinkPHP中,文件的命名空间还是很重要的,我试着按照其他的第三方命名写namespace但是还是不行,最后我是这么做的 第一步:重命名classes为Excel,并且将文件夹内的PHPExcel.php重命名成PHPExcel.class.php 然后放入到目录文件 然后在控制层导入,直接use的话是会报错找不到类文件的...也许是内核里面的路由问题,于是我是在实例化的时候写