thinkphp3.2.3 整合phpExcel匯出資料

來源:互聯網
上載者:User
這篇文章給大家分享的內容是關於thinkphp3.2.3 整合phpExcel匯出資料,有需要的朋友可以參考一下

public function alliance_createxls(){          $allianceObj = M('alliance_apply');        $result = $allianceObj                  ->field("apply_name,sex,company,card,duty,phone,points_part,email,stayinfo,eatinfo,address,remark")                  ->select();        foreach ($result as $key => $vo) {        $result[$key]['card'] = $vo['card']." ";        $result[$key]['phone'] = $vo['phone']." ";        if($vo['sex'] == 0){                 $result[$key]['sex'] = '男';          }else{         $result[$key]['sex'] = '女';        }        switch ($vo['duty']) {            case 1:        $result[$key]['duty'] = '學校院長';        break;        case 2:        $result[$key]['duty'] = '學校副院長';        break;        case 3:        $result[$key]['duty'] = '分院院長';        break;        case 4:        $result[$key]['duty'] = '分院副院長';        break;        case 5:        $result[$key]['duty'] = '系主任';        break;        case 6:        $result[$key]['duty'] = '副系主任';        break;        case 7:        $result[$key]['duty'] = '教研室主任';        break;        case 8:        $result[$key]['duty'] = '教師';        break;        case 9:        $result[$key]['duty'] = '總經理';        break;        case 10:        $result[$key]['duty'] = '副總經理';        break;        case 11:        $result[$key]['duty'] = '總監';        break;        case 12:        $result[$key]['duty'] = '職員';        break;                default:        $result[$key]['duty'] = '學校院長';        break;        }        switch ($vo['points_part']) {            case 1:            $result[$key]['points_part'] = '資訊安全校企合作分盟';        break;        case 2:            $result[$key]['points_part'] = '雲端運算校企合作分盟';        break;        case 3:            $result[$key]['points_part'] = '電腦網路校企合作分盟';        break;        case 4:            $result[$key]['points_part'] = '機器人技術應用校企合作分盟';        break;        case 5:            $result[$key]['points_part'] = 'VR專業分盟';        break;               default:        $result[$key]['points_part'] = '--';        break;        }        if($vo['stayinfo'] == 1){                    $result[$key]['stayinfo'] = '單住';        }else{                    $result[$key]['stayinfo'] = '合住';        }        }     //匯入PHPExcel類庫,因為PHPExcel沒有用命名空間,只能inport匯入    import("Org.Util.PHPExcel");    import("Org.Util.PHPExcel.Writer.Excel5");    import("Org.Util.PHPExcel.IOFactory.php");    $filename="聯盟大會報名";    $headArr=array("姓名","性別","單位名稱","社會安全號碼","職務","手機號碼","分盟參與意向","郵箱地址","住宿要求","飲食要求","郵寄地址","備忘資訊");    $this->getExcel($filename,$headArr,$result);}private    function getExcel($fileName,$headArr,$data){    //對資料進行檢驗    if(empty($data) || !is_array($data)){        die("data must be a array");    }    //檢查檔案名稱    if(empty($fileName)){        exit;    }    $date = date("Y_m_d_H_i_s",time());    $fileName .= "_{$date}.xls";    //建立PHPExcel對象,注意,不能少了\    $objPHPExcel = new \PHPExcel();    $objProps = $objPHPExcel->getProperties();    //設定表頭    $key = ord("A");    foreach($headArr as $v){        $colum = chr($key);        $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);        $key += 1;    }    $column = 2;    $objActSheet = $objPHPExcel->getActiveSheet();    foreach($data as $key => $rows){ //行寫入        $span = ord("A");        foreach($rows as $keyName=>$value){// 列寫入            $j = chr($span);            $objActSheet->setCellValue($j.$column, $value);            $span++;        }        $column++;    }    $fileName = iconv("utf-8", "gb2312", $fileName);    //重新命名表    // $objPHPExcel->getActiveSheet()->setTitle('test');    //設定活動單指數到第一個表,所以Excel開啟這是第一個表    $objPHPExcel->setActiveSheetIndex(0);    ob_end_clean();    ob_start();    header('Content-Type: application/vnd.ms-excel');    header("Content-Disposition: attachment;filename=\"$fileName\"");    header('Cache-Control: max-age=0');    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');    $objWriter->save('php://output'); //檔案通過瀏覽器下載    exit;}

關於PHPExcel匯出Excel時身份證,數字會匯出為科學計數的處理方法

這是因為Excel處理數字裡預設數字太長會轉化為科學計數法,處理起來很簡單,我們在匯出時把數字轉為字串,Excel就不會識別為數字了,也就不會顯示為科學計數方式。

我的處理方式是在變數後面加個空格,簡單方便。

$usercode .=  ' ';$money .= ' ';
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.