用户
 找回密码
 入住 CI 中国社区
搜索
查看: 13028|回复: 19
收起左侧

[Web] 约会归来继续分享:CI继承PHPExcel

  [复制链接]
发表于 2010-8-16 22:49:21 | 显示全部楼层 |阅读模式
废话不多少,方法如下:
1、拷贝PHPExcel到system/libraries/下
2、system/libraries/再新建一个PHPExcel.php文件用来写一个继承原有的PHPExcel类,代码如下:
PHP复制代码
 
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
        set_include_path(get_include_path().PATH_SEPARATOR .BASEPATH.'libraries/PHPExcel/PHPExcel');
        require_once("PHPExcel/PHPExcel.php");
        require_once("PHPExcel/PHPExcel/Writer/Excel5.php");//如果要生成Excel2007格式,可以加载Excel2007.php
        /**
         * DK_PHPExcel extends PHPExcel
         * Author: Daker.W
         * Create Time: 2010/08/10
         **/

        class DK_PHPExcel extends PHPExcel
        {
                function DK_PHPExcel($config = array())
                {
                        $this->CI =& get_instance();
                       
                        if ( ! in_array('phpexcel_lang'.EXT, $this->CI->lang->is_loaded, TRUE))
                        {
                                $this->CI->lang->load('phpexcel');
                        }
       
                        $this->local_time = time();
                       
                        if (count($config) > 0)
                        {
                                $this->initialize($config);
                        }
                       
                        parent::__construct();
                       
                        log_message('debug', "PHPExcel Class Initialized");
                }
               
                function initialize($config = array())
                {
                        foreach ($config as $key => $val)
                        {
                                if (isset($this->$key))
                                {
                                        $this->$key = $val;
                                }
                        }
                }
               
                /**
                 * @param string $sFileName    //输出的文件名
                 * @param string $oPHPExcel             //PHPExcel对象
                 * @param string $sFileType             //输出文件类型
                 * @param string $charset               //输出编码
                 **/

                function export_excel($sFileName, $oPHPExcel, $sFileType='Excel5', $charset='utf-8')
                {
                        $sFileName      = iconv($charset, 'gb2312', $sFileName);
                        header("Content-Type: application/vnd.ms-excel; charset=$sFileType");  
                        header("Content-Disposition: attachment;filename=$sFileName");  
                        header('Cache-Control: max-age=0');  
                        $objWriter = PHPExcel_IOFactory::createWriter($oPHPExcel, $sFileType);  
                        $objWriter->save('php://output');
                }
        }//End Class
?>
 
复制代码

3、控制器中的调用方法:
PHP复制代码
 
$this->load->library('phpexcel');
$this->phpexcel->setActiveSheetIndex(0);                //取得第一个页
……
 
复制代码


刚接触CI一个月,请大家多多指教!

评分

参与人数 1威望 +5 收起 理由
Hex + 5 赞一个!

查看全部评分

发表于 2010-8-16 23:37:32 | 显示全部楼层
这个有用!@
发表于 2010-8-18 10:02:43 | 显示全部楼层
这个PHPExcel 类库哪里有下载呀。
 楼主| 发表于 2010-8-19 16:59:58 | 显示全部楼层
回复 3# sueijing


    http://phpexcel.codeplex.com/
    百度下就可以找到了
发表于 2010-12-27 08:58:21 | 显示全部楼层
很好,记录一下
发表于 2011-7-11 11:34:47 | 显示全部楼层
非常感谢,客户说我之前的exl导出功能太简单,想用phpExcel一直也不会用~
发表于 2011-7-18 08:16:03 | 显示全部楼层
学习了!正找这个东西呢!
发表于 2011-8-22 15:32:47 | 显示全部楼层
学习学习学习..................
发表于 2011-8-22 16:24:30 | 显示全部楼层
已经用上了
发表于 2011-8-23 14:21:34 | 显示全部楼层
我已经会了。。刚弄过这个

本版积分规则