您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)TP5.0 PHPExcel 數(shù)據(jù)表格導(dǎo)出導(dǎo)入案例的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
1、先在github里面下載PHPexcel這個類庫
或者通過以下鏈接下載PHPexcel類庫。
http://www.php.cn/xiazai/leiku/1491
2、解壓之后把它復(fù)制到extend里面
控制器代碼如下:
<?php /** * Created by PhpStorm. * User: luxiao * Date: 2017/5/8 * Time: 16:49 */ namespace app\index\controller; use think\Loader; use think\Controller; class Excel extends Controller { function excel() { $path = dirname(__FILE__); //找到當(dāng)前腳本所在路徑 Loader::import('PHPExcel.Classes.PHPExcel'); //手動引入PHPExcel.php Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory'); //引入IOFactory.php 文件里面的PHPExcel_IOFactory這個類 $PHPExcel = new \PHPExcel(); //實例化 $PHPSheet = $PHPExcel->getActiveSheet(); $PHPSheet->setTitle("demo"); //給當(dāng)前活動sheet設(shè)置名稱 $PHPSheet->setCellValue("A1","姓名")->setCellValue("B1","分?jǐn)?shù)");//表格數(shù)據(jù) $PHPSheet->setCellValue("A2","張三")->setCellValue("B2","2121");//表格數(shù)據(jù) $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,"Excel2007"); //創(chuàng)建生成的格式 header('Content-Disposition: attachment;filename="表單數(shù)據(jù).xlsx"'); //下載下來的表格名 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $PHPWriter->save("php://output"); //表示在$path路徑下面生成demo.xlsx文件 } }
調(diào)用excel方法就可以生成一個表格了,后續(xù)的根據(jù)自己的需要自己去寫代碼.
PHPexcel 表格數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫 city 表,在這之前自己先創(chuàng)建好表單,我這次用的都是地址數(shù)據(jù)表做的測試:
function inserExcel() { Loader::import('PHPExcel.Classes.PHPExcel'); Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory'); Loader::import('PHPExcel.Classes.PHPExcel.Reader.Excel5'); //獲取表單上傳文件 $file = request()->file('excel'); $info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public' . DS . 'uploads'); //上傳驗證后綴名,以及上傳之后移動的地址 if ($info) { // echo $info->getFilename(); $exclePath = $info->getSaveName(); //獲取文件名 $file_name = ROOT_PATH . 'public' . DS . 'uploads' . DS . $exclePath; //上傳文件的地址 $objReader =\PHPExcel_IOFactory::createReader('Excel2007'); $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加載文件內(nèi)容,編碼utf-8 echo "<pre>"; $excel_array=$obj_PHPExcel->getsheet(0)->toArray(); //轉(zhuǎn)換為數(shù)組格式 array_shift($excel_array); //刪除第一個數(shù)組(標(biāo)題); $city = []; foreach($excel_array as $k=>$v) { $city[$k]['Id'] = $v[0]; $city[$k]['code'] = $v[1]; $city[$k]['path'] = $v[2]; $city[$k]['pcode'] = $v[3]; $city[$k]['name'] = $v[4]; } Db::name('city')->insertAll($city); //批量插入數(shù)據(jù) } else { echo $file->getError(); }
前端代碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="http://localhost/chexian5.0/index.php/index/excel/intoexcel" enctype="multipart/form-data" method="post"> <input type="file" name="excel" /> <input type="submit" value="導(dǎo)入"> </form> </body> </html>
感謝各位的閱讀!關(guān)于TP5.0 PHPExcel 數(shù)據(jù)表格導(dǎo)出導(dǎo)入案例就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。