對於在做php開發項目中,一般的項目設計到最多用到的是Excel的導出功能,而對於其導入功能一般是很少見的,而且對於php開發中Excel的導入功能也要比導出功能開發起來更困難一些,那麼今天就來分享一下php開發中Excel導入功能的具體實現步驟:
1、首先將下載下來的PHP Excel插件代碼放入項目/Thinkphp/Extend/Vendor/下;
2、在模板添加導入功能;
html代碼實現如下:
<form action="{:U('Turntable/imports')}" enctype="multipart/form-data" method="post">
<input type="file" name="photo" />
<input type="submit" value="導入數據">
</form>
3、控制器調用插件;
php代碼如下:
public function imports(){
ini_set('memory_limit','1024M');
import('ORG.Net.UploadFile');
$upload = new UploadFile();
$upload->maxSize = 3145728000 ;// 設置附件上傳大小
$upload->allowExts = array('xlsx','xls');// 設置附件上傳類型
$upload->savePath = './Public/Uploads/xslx/';//
// $upload = new \Think\Upload($config);
if (!$upload->upload()) {
error($upload->getErrorMsg());
}else{
$info = $upload->getUploadFileInfo();
}
vendor("PHPExcel.PHPExcel");
$file_name= $upload->savePath.$info[0]['savename'];
$extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判斷導入表格後綴格式
if ($extension == 'xlsx') {
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
} else if ($extension == 'xls'){
$objReader =\PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
}
$sheet =$objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();//取得總行數
$highestColumn =$sheet->getHighestColumn(); //取得總列數
for ($i = 2; $i <= $highestRow; $i++) {
$data['code'] =$objPHPExcel->getActiveSheet()->getCell("B" . $i)->getValue();
//看這裏看這裏,這個位置寫數據庫中的表名
D('codes')->add($data);
}
$this->success('導入成功!');
}
好了,相信看到這裏大家就明白如何去做了,那麼如果還有同學不知道如何去做的話,或者嘗試之後發現有問題的話,都可以留言諮詢,我們可以共同討論學習。
本文由專業的鄭州app開發公司燚軒科技整理髮布,原創不易,尊重編者,如需轉載請註明出處!