溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Codeigniter+PHPExcel導出數(shù)據(jù)到Excel文件的實現(xiàn)方法

發(fā)布時間:2021-06-29 10:35:18 來源:億速云 閱讀:138 作者:chen 欄目:開發(fā)技術

這篇文章主要介紹“Codeigniter+PHPExcel導出數(shù)據(jù)到Excel文件的實現(xiàn)方法”,在日常操作中,相信很多人在Codeigniter+PHPExcel導出數(shù)據(jù)到Excel文件的實現(xiàn)方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Codeigniter+PHPExcel導出數(shù)據(jù)到Excel文件的實現(xiàn)方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!



1.準備工作
下載PHPExcel:http://phpexcel.codeplex.com
這是個強大的Excel庫,這里只演示導出Excel文件的功能,其中的大部分功能可能都用不著。

2.安裝PHPExcel到Codeigniter

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

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

代碼如下:

<?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.測試
加入數(shù)據(jù)庫有表名為products,此時可以訪問http://www.yoursite.com/table_export/index/products導出Excel文件了。

到此,關于“Codeigniter+PHPExcel導出數(shù)據(jù)到Excel文件的實現(xiàn)方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI