TP3.2載入外部PHPexcel類,實現匯入和匯出

來源:互聯網
上載者:User

標籤:arc   總結   osi   資料   logs   配置   檔案   tor   drive   

TP3.2載入外部PHPexcel類,實現匯入和匯出

匯入:

1、將下載好的PHPexcel檔案放到libray/Org/Uti/檔案夾下,將PHPEXCEL.PHP改為PHPEXCEL.class.php

2、匯入類檔案

代碼:

import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Reader.Excel5");

3、配置

代碼:

$objReader = \PHPExcel_IOFactory::createReader(‘Excel5‘);//配置成2003版本,因為office版本可以向下相容
$objPHPExcel = $objReader->load($file,$encode=‘utf-8‘);//$file 為解讀的excel檔案

4、解讀表格

代碼:

$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數

5、填入資料庫

代碼:

for($j=2;$j<=$highestRow;$j++)
{
$a = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//白天司機姓名列
$b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//晚上司機姓名列
    if(!is_null($a)){
        $data[‘driver‘] = $a;
       $res = M(‘carcount_user‘)->data($data)->add();
     }
}

if($res){
      $this->success(‘填入資料庫表完成!‘);
}

匯出:

1、

放在vendor檔案夾下不用import匯入,執行個體化即可,注意new 後要使用\

代碼:

 

vendor(‘PHPExcel‘);
$objExcel = new \PHPExcel();
$objWriter = \PHPExcel_IOFactory::createWriter($objExcel, ‘Excel5‘);

2、設定表頭

$objExcel->getActiveSheet()->setCellValue(‘A1‘,‘司機‘);

3、填入資料

$count = count($driver);//$driver 為資料庫表取出的資料
for ($i = 2; $i <= $count+1; $i++) {
  $objExcel->getActiveSheet()->setCellValue(‘A‘ . $i, $driver[$i-2][‘driver‘]); 
}

4、輸出

$objExcel->setActiveSheetIndex(); 
header(‘Content-Type: applicationnd.ms-excel‘); 
header(‘Content-Disposition: attachment;filename="test.xls"‘); 
header(‘Cache-Control: max-age=0‘); 

$objWriter->save(‘php://output‘); 
exit;

總結:

PHPEXCEL相比reader功能多,bug少,在和TP搭配時要講檔案放在vendor/(執行個體化即可)或者org/uti/(用import匯入)下,匯入時關鍵函數為:getActiveSheet(),getCell("D".$j),getValue(),匯出時關鍵函數為getActiveSheet(),setCellValue(‘A1‘,‘司機‘)。

TP3.2載入外部PHPexcel類,實現匯入和匯出

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.