最近用到kuaidi100的端口服力, 但下載到對(duì)方的快遞公司代碼, 全是word文檔的, 需要存儲(chǔ)到數(shù)據(jù)庫(kù)里, 有好幾百條, 一條條添加太耗時(shí)了, 于是決定把word文檔拷貝到excel里,然后直接導(dǎo)入到數(shù)據(jù)庫(kù)中, 用到了phpexcel類(lèi)[具體什么東東, 不知道的coder去百度科普一下], 為了方便有需要的coder使用, 這里粘貼下使用方法
1. 下載并安裝phpexcel
composer require phpoffice/phpexcel
2. 將excel文件放到目錄下, 我這里放到了 根目錄下的 extend下, 文件名為 kuaidi.xls
3. 加載文件, 生成讀取對(duì)象, 讀取excel并導(dǎo)入到數(shù)據(jù)庫(kù)
namespace app\controller; use think\Controller; use think\Db; class Excel extends Controller{ public function index(){ //$excel = new \PHPExcel(); $filepath = EXTEND_PATH."kuaidi.xls"; //定義文件的實(shí)際目錄 $PHPReader = new \PHPExcel_Reader_Excel2007(); //生成讀取excel的對(duì)象, 注意這里new時(shí), 要 加 \ , 否則會(huì)找不到類(lèi)的 if( ! $PHPReader->canRead($filepath)) { $PHPReader = new \PHPExcel_Reader_Excel5(); if( ! $PHPReader->canRead($filepath)){ echo 'no Excel'; return ; } } $PHPExcel = $PHPReader->load($filepath); //加載要導(dǎo)入的excel文件 $sheet = $PHPExcel->getSheet(0); // 讀取第一個(gè)工作表 $highestRow = $sheet->getHighestRow(); // 取得總行數(shù) //$highestColumm = $sheet->getHighestColumn(); // 取得總列數(shù) /** 循環(huán)讀取每個(gè)單元格的數(shù)據(jù) */ for ($row = 1; $row <= $highestRow; $row++){//行數(shù)是以第1行開(kāi)始 $codes = $sheet->getCell("A".$row)->getValue(); $names = $sheet->getCell("B".$row)->getValue(); $data=["codes"=>$codes,"names"=>$names]; Db::name('kuaidi')->insert($data); } } }