Heim > PHP-Framework > Denken Sie an PHP > So importieren Sie Excel mit PHPExcel in thinkphp

So importieren Sie Excel mit PHPExcel in thinkphp

Freigeben: 2020-05-13 09:06:23
nach vorne
4487 Leute haben es durchsucht

So importieren Sie Excel mit PHPExcel in thinkphp

Einführung, wie thinkphp Excel importiert:

Entwicklungsideen

1. Laden Sie zunächst die Excel-Datei auf den Server hoch

2. Holen Sie sich den Inhalt der Server-Excel-Datei

3. Schreiben Sie in die Datenbank

1. Laden Sie die Excel-Datei mit der mitgelieferten Upload-Methode „ThinkUpload();“ hoch PHP, was sehr praktisch ist. Aus diesem Grund habe ich die einfachste Möglichkeit zur Verwendung dieser Methode herausgefunden:

/**
 * TODO 上传文件方法
 * @param $fileid form表单file的name值
 * @param $dir 上传到uploads目录的$dir文件夹里
 * @param int $maxsize 最大上传限制,默认1024000 byte
 * @param array $exts 允许上传文件类型 默认array('gif','jpg','jpeg','bmp','png')
 * @return array 返回array,失败status=0 成功status=1,filepath=newspost/2014-9-9/a.jpg
 */
function uploadfile($fileid,$dir,$maxsize=5242880,$exts=array('gif','jpg','jpeg','bmp','png'),$maxwidth=430){
    $upload = new \Think\Upload();// 实例化上传类
    $upload->maxSize   =     $maxsize;// 设置附件上传大小,单位字节(微信图片限制1M
    $upload->exts      =     $exts;// 设置附件上传类型
    $upload->rootPath  =     './uploads/'; // 设置附件上传根目录
    $upload->savePath  =     $dir.'/'; // 设置附件上传(子)目录
    // 上传文件
    $info   =   $upload->upload();

    if(!$info) {// 上传错误提示错误信息
        return array(status=>0,msg=>$upload->getError());
    }else{// 上传成功
        return array(status=>1,msg=>'上传成功',filepath=>$info[$fileid]['savepath'].$info[$fileid]['savename']);
    }
}
Nach dem Login kopieren

Standardmäßig wird sie in den Ordner hochgeladen, in dem sich die ThinkPHP-Eintragsdatei index.php befindet. Diese Methode gibt Daten zurück Der Status ist Erfolg, wenn Status = 1. Es wird empfohlen, dass das gesamte System in der frühen Phase der Architektur eine Vereinbarung hat. Bei Bedarf sollte der Rückgabewert in Form eines Arrays vorliegen. Erfolgt die Rückgabe von

return array(status=>1,data=>....,info=>.....)
Nach dem Login kopieren

, kann

array(status->0,info=>'可以说明出错的原因',....)
Nach dem Login kopieren
zurückgegeben werden.

Die Verwendung eines einheitlichen Ansatzes auf diese Weise kann die Effizienz verbessern und das Nachdenken bei der Betrachtung des Codes reduzieren Teamzusammenarbeit. Vereinfacht ausgedrückt heißt die Upload-Methode wie folgt:

//excel 文件
        if(!empty($_FILES['xls']['name'])){
            $upload=uploadfile('xls','tempxls',5242880,array('xls','xlsx'));
            if($upload['status']){
                $path=$upload['filepath'];
            }else{
                $this->error($upload['msg']);
            }
        }
Nach dem Login kopieren

2. Erhalten Sie Excel-Daten

1. Zuerst müssen Sie die PHPExcel-Klassenbibliothek vorstellen

require_once 'module/PHPExcel/Classes/PHPExcel/IOFactory.php';
Nach dem Login kopieren

2. Holen Sie sich das 0. Excel-Blatt (Blatt1)

//获取excel文件
$objPHPExcel = \PHPExcel_IOFactory::load("uploads/$path");
$objPHPExcel->setActiveSheetIndex(0);
$sheet0=$objPHPExcel->getSheet(0);
Nach dem Login kopieren

3. Ermitteln Sie die Anzahl der Zeilen und geben Sie die Daten ein. Lesen Sie das $data-Array aus

$rowCount=$sheet0->getHighestRow();//excel行数
        $data=array();
        for ($i = 2; $i <= $rowCount; $i++){
            $item[&#39;name&#39;]=$this->getExcelValue($sheet0,&#39;A&#39;.$i);
            $item[&#39;sex&#39;]=$this->getExcelValue($sheet0,&#39;B&#39;.$i);
            $item[&#39;contact&#39;]=$this->getExcelValue($sheet0,&#39;C&#39;.$i);
            $item[&#39;remark&#39;]=$this->getExcelValue($sheet0,&#39;D&#39;.$i);
            $item[&#39;addtime&#39;]=$this->getExcelValue($sheet0,&#39;E&#39;.$i);

            $data[]=$item;
        }
Nach dem Login kopieren

3 die Daten

$success=0;
        $error=0;
        $sum=count($data);
        foreach($data as $k=>$v){
            if(M(&#39;temp_area3&#39;)->data($v)->add()){
                $success++;
            }else {
                $error++;
            }
        }

        echo "总{$sum}条,成功{$success}条,失败{$error}条。";
Nach dem Login kopieren

Empfohlenes Tutorial: „TP5

Das obige ist der detaillierte Inhalt vonSo importieren Sie Excel mit PHPExcel in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage