1. 程式人生 > >php開發中Excel導入功能的具體實現方法

php開發中Excel導入功能的具體實現方法

org read tro 功能 tac excel導入 max eat ade

對於在做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開發公司燚軒科技整理發布,原創不易,尊重編者,如需轉載請註明出處!

php開發中Excel導入功能的具體實現方法