標籤: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類,實現匯入和匯出