PHPexcel導(dǎo)出常用

下載 PHPExcel-1.8.zip 包
http://note.youdao.com/noteshare?id=62394c2f4858f975b1772d8c3f6a6cc7&sub=2D4C6AC3B1A14C4099F94BEC97A7ADD7

需要導(dǎo)出的數(shù)據(jù)格式

array (size=6)
  0 => 
    array (size=6)
      0 => string '20190517144546561483' (length=20)
      1 => string '0.00' (length=4)
      2 => string '***' (length=5)
      3 => string '支付寶' (length=9)
      4 => string '支付完成' (length=12)
      5 => string '2019-05-17 14:45:46' (length=19)
  1 => 
    array (size=6)
      0 => string '20190517143412343803' (length=20)
      1 => string '0.01' (length=4)
      2 => string '***' (length=11)
      3 => string '微信' (length=9)
      4 => string '支付完成' (length=12)
      5 => string '2019-05-17 14:35:06' (length=19)
  2 => 
    array (size=6)
      0 => string '20190517140912718326' (length=20)
      1 => string '93.60' (length=5)
      2 => string '***' (length=11)
      3 => string '支付寶' (length=9)
      4 => string '支付完成' (length=12)
      5 => string '2019-05-17 14:09:28' (length=19)
  3 => 
    array (size=6)
      0 => string '20190517111302964673' (length=20)
      1 => string '109.00' (length=6)
      2 => string '***' (length=11)
      3 => string '微信' (length=9)
      4 => string '支付完成' (length=12)
      5 => string '2019-05-17 11:14:39' (length=19)
  4 => 
    array (size=6)
      0 => string '20190517111225285648' (length=20)
      1 => string '89.00' (length=5)
      2 => string '***' (length=11)
      3 => string '支付寶' (length=9)
      4 => string '支付完成' (length=12)
      5 => string '2019-05-17 11:13:21' (length=19)
  5 => 
    array (size=6)
      0 => string '20190516154901304428' (length=20)
      1 => string '109.00' (length=6)
      2 => string '***' (length=11)
      3 => string '支付寶' (length=9)
      4 => string '支付完成' (length=12)
      5 => string '2019-05-16 15:49:14' (length=19)

封裝PHPexcle 導(dǎo)出類庫


<?php

class Excelreport{


    //文件名
    private $fileName = 'user';

    //數(shù)據(jù)內(nèi)容
    private $_data    = [];

    //phpexcel類
    private $objPHPExcel = '';

    //構(gòu)造函數(shù)
    public function __construct($fileName = '')
    {
        $this->setFileName($fileName);
        include_once '../plugins/phpexcel/PHPExcel.php');
        $this->objPHPExcel = new PHPExcel();

    }

    //設(shè)置要導(dǎo)出的文件名
    public function setFileName($fileName)
    {
        $this->fileName = $fileName;
    }

    /**
     * @brief 寫入標(biāo)題操作
     * @param $data array 一維數(shù)組
     */
    public function setTitle($data = array())
    {
        $array = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];

        $count = sizeof($data);

        for($i=0;$i<$count;$i++){
            $this->objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue($array[$i].'1', is_array($data[$i])?$data[$i][0]:$data[$i]);

             //是否設(shè)置單元格寬度
            if(is_array($data[$i])){
                //設(shè)置寬度
                $this->objPHPExcel->getActiveSheet()->getColumnDimension($array[$i])->setWidth($data[$i][1]); 
            }else{
                $this->objPHPExcel -> getActiveSheet() -> getColumnDimension($array[$i]) -> setAutoSize(true);
            }

            //設(shè)置水平居中
            $this->objPHPExcel->getActiveSheet()->getStyle($array[$i].'1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

            //設(shè)置垂直居中
            $this->objPHPExcel->getActiveSheet()->getStyle($array[$i].'1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
            //設(shè)置單元格背景色
            $this->objPHPExcel->getActiveSheet()->getStyle($array[$i].'1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
            $this->objPHPExcel->getActiveSheet()->getStyle($array[$i].'1')->getFill()->getStartColor()->setARGB('0017C405');

        }


    }

    /**
     * @brief 寫入內(nèi)容操作,每次存入一行
     * @param $data array  數(shù)據(jù)
     */
    public function setData($data = array())
    {

        $array = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
            $num = 1;
            foreach($data as $key => $val){
                $num++;


                foreach ($val as $k => $v){

                    $this->objPHPExcel->setActiveSheetIndex(0)
                    ->setCellValue($array[$k].$num, $v);
                    //設(shè)置水平居中
                    $this->objPHPExcel->getActiveSheet()->getStyle($array[$k].$num)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

                    //設(shè)置垂直居中
                    $this->objPHPExcel->getActiveSheet()->getStyle($array[$k].$num)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

                    //設(shè)置自動換行
                    $this->objPHPExcel->getActiveSheet()->getStyle($array[$k].$num)->getAlignment()->setWrapText(true);
                }

            }
        //設(shè)置表頭行高
        $this->objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(40);
        //設(shè)置行高
        $this->objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(35);


    }


    //開始下載
    public function toDownload($data = '')
    {
        include_once(IWeb::$app->getBasePath().'plugins/phpexcel/PHPExcel/IOFactory.php');//靜態(tài)類

        header('Content-Type: applicationnd.ms-excel');
        header('Content-Disposition: attachment;filename="'.$this->fileName.'_'.date('Y-m-d').'.xls"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($this->objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;



    }



}

調(diào)用


$obj = new Excelreport('order_refundment_list');
      
$obj->setTitle(array(
    array("訂單編號",'30'),
    array("收款金額",'30'),
    array("付款人",'30'),
    array("支付方式",'30'),
    array("支付狀態(tài)",'30'),
    array("完成時間",'30'),
));


$obj->setData($data);
$obj->toDownload();

效果圖


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末这敬,一起剝皮案震驚了整個濱河市铅鲤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌万牺,老刑警劉巖罗珍,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異脚粟,居然都是意外死亡覆旱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門珊楼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來通殃,“玉大人,你說我怎么就攤上這事厕宗』啵” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵已慢,是天一觀的道長曲聂。 經(jīng)常有香客問我,道長佑惠,這世上最難降的妖魔是什么朋腋? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮膜楷,結(jié)果婚禮上旭咽,老公的妹妹穿的比我還像新娘。我一直安慰自己赌厅,他們只是感情好穷绵,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著特愿,像睡著了一般仲墨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揍障,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天目养,我揣著相機(jī)與錄音,去河邊找鬼毒嫡。 笑死癌蚁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播匈勋,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼礼旅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了洽洁?” 一聲冷哼從身側(cè)響起痘系,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饿自,沒想到半個月后汰翠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡昭雌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年复唤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烛卧。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡佛纫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出总放,到底是詐尸還是另有隱情呈宇,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布局雄,位于F島的核電站甥啄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏炬搭。R本人自食惡果不足惜蜈漓,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宫盔。 院中可真熱鬧融虽,春花似錦、人聲如沸灼芭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽姿鸿。三九已至,卻和暖如春倒源,著一層夾襖步出監(jiān)牢的瞬間苛预,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工笋熬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留热某,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像昔馋,于是被迫代替她去往敵國和親筹吐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 這個希望大家能夠保存秘遏,我會不定時更新丘薛,大家可以作為參考。 【面試篇】 面試之自我介紹篇 http://note.y...
    程序員一鳴閱讀 1,872評論 0 12
  • 這個希望大家能夠保存邦危,我會不定時更新洋侨,大家可以作為參考。 【面試篇】 面試之自我介紹篇 http://note.y...
    總會顛沛流離閱讀 499評論 0 0
  • 天天有網(wǎng)球團(tuán)隊培訓(xùn)課后匯總 ### 最新更新(更新至7月23日): ==++分級培訓(xùn)課程-各項技術(shù)要領(lǐng)匯總>腧健O<帷!+...
    bjpopeye閱讀 1,574評論 0 0
  • 陽光飄落在屋后的小山丘在收完麥子的梯田逗留慢悠悠地移動著步子黃昏一點點從西山走來 翠綠如同路旁的杏樹葉因風(fēng)的緣故而...
    布瓜先生閱讀 767評論 3 7
  • 起因:需求是需要一個服務(wù)在后臺陵且,盡量能不被殺死裁僧,就算殺死了也可以被啟動起來。 方式: 1.提高服務(wù)的優(yōu)先級 2...
    Llianhua閱讀 3,073評論 0 1