欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Codeigniter+PHPExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)到Excel文件

 更新時(shí)間:2014年06月12日 10:39:50   投稿:shichen2014  
PHPExcel是用來操作OfficeExcel文檔的一個(gè)PHP類庫,Codeigniter是一個(gè)功能強(qiáng)大的PHP框架。二者結(jié)合就能起到非常棒的效果,需要的朋友可以參考下

PHPExcel是用來操作OfficeExcel文檔的一個(gè)PHP類庫,它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語言??梢允褂盟鼇碜x取、寫入不同格式的電子表格。而Codeigniter是一個(gè)功能強(qiáng)大的PHP框架。二者結(jié)合就能起到非常棒的效果啦!

1.準(zhǔn)備工作

下載PHPExcel:http://phpexcel.codeplex.com
這是個(gè)強(qiáng)大的Excel庫,這里只演示導(dǎo)出Excel文件的功能,其中的大部分功能可能都用不著。

2.安裝PHPExcel到Codeigniter

1)解壓壓縮包里的Classes文件夾中的內(nèi)容到application\libraries\目錄下,目錄結(jié)構(gòu)如下:
--application\libraries\PHPExcel.php
--application\libraries\PHPExcel(文件夾)
2)修改application\libraries\PHPExcel\IOFactory.php文件
--將其類名從PHPExcel_IOFactory改為IOFactory,遵從CI類命名規(guī)則。
--將其構(gòu)造函數(shù)改為public

3.安裝完畢,寫一個(gè)導(dǎo)出excel的控制器(Controller)

代碼如下:

復(fù)制代碼 代碼如下:
<?php
classTable_exportextendsCI_Controller{
    function__construct()
    {
        parent :: __construct();
        // Hereyoushouldaddsomesortofuservalidation
        // topreventstrangersfrompullingyourtabledata
    }
    functionindex($table_name)
    {
        $query = $this -> db -> get($table_name);
        if(!$query)
            returnfalse;
        // StartingthePHPExcellibrary
        $this -> load -> library('PHPExcel');
        $this -> load -> library('PHPExcel/IOFactory');
        $objPHPExcel = newPHPExcel();
        $objPHPExcel -> getProperties() -> setTitle("export") -> setDescription("none");
        $objPHPExcel -> setActiveSheetIndex(0);
        // Fieldnamesinthefirstrow
        $fields = $query -> list_fields();
        $col = 0;
        foreach($fieldsas$field)
        {
            $objPHPExcel -> getActiveSheet() -> setCellValueByColumnAndRow($col, 1, $field);
            $col++;
            }
        // Fetchingthetabledata
        $row = 2;
        foreach($query -> result()as$data)
        {
            $col = 0;
            foreach($fieldsas$field)
            {
                $objPHPExcel -> getActiveSheet() -> setCellValueByColumnAndRow($col, $row, $data -> $field);
                $col++;
                }
            $row++;
            }
        $objPHPExcel -> setActiveSheetIndex(0);
        $objWriter = IOFactory :: createWriter($objPHPExcel, 'Excel5');
        // Sendingheaderstoforcetheusertodownloadthefile
        header('Content-Type:application/vnd.ms-excel');
        header('Content-Disposition:attachment;filename="Products_' . date('dMy') . '.xls"');
        header('Cache-Control:max-age=0');
        $objWriter -> save('php://output');
        }
    }


4.測(cè)試

加入數(shù)據(jù)庫有表名為products,此時(shí)可以訪問http://www.yoursite.com/table_export/index/products導(dǎo)出Excel文件了。

相關(guān)文章

最新評(píng)論