xingch 发表于 2010-8-16 22:49:21

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

废话不多少,方法如下:
1、拷贝PHPExcel到system/libraries/下
2、system/libraries/再新建一个PHPExcel.php文件用来写一个继承原有的PHPExcel类,代码如下:

<?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、控制器中的调用方法:

$this->load->library('phpexcel');
$this->phpexcel->setActiveSheetIndex(0);                //取得第一个页
……


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

snllll 发表于 2010-8-16 23:37:32

:handshake 这个有用!@

sueijing 发表于 2010-8-18 10:02:43

这个PHPExcel 类库哪里有下载呀。

xingch 发表于 2010-8-19 16:59:58

回复 3# sueijing


    http://phpexcel.codeplex.com/
    百度下就可以找到了

deader 发表于 2010-12-27 08:58:21

很好,记录一下

夏芲宿妝殘 发表于 2011-7-11 11:34:47

非常感谢,客户说我之前的exl导出功能太简单,想用phpExcel一直也不会用~

hxfsc 发表于 2011-7-18 08:16:03

学习了!正找这个东西呢!

yeseason 发表于 2011-8-22 15:32:47

学习学习学习..................

gs129090 发表于 2011-8-22 16:24:30

已经用上了

oh_yes 发表于 2011-8-23 14:21:34

我已经会了。。刚弄过这个
页: [1] 2
查看完整版本: 约会归来继续分享:CI继承PHPExcel