tp5下安装phpexcel读取excel文档导入到数据库

时间:2017-11-02 09:23:57 类型:PHP
字号:    

最近用到kuaidi100的端口服力, 但下载到对方的快递公司代码, 全是word文档的, 需要存储到数据库里, 有好几百条, 一条条添加太耗时了, 于是决定把word文档拷贝到excel里,然后直接导入到数据库中, 用到了phpexcel类[具体什么东东, 不知道的coder去百度科普一下], 为了方便有需要的coder使用, 这里粘贴下使用方法

1. 下载并安装phpexcel

   composer require phpoffice/phpexcel

2. 将excel文件放到目录下, 我这里放到了 根目录下的 extend下, 文件名为 kuaidi.xls

   

3. 加载文件, 生成读取对象, 读取excel并导入到数据库

   

namespace app\controller;
use think\Controller;
use think\Db;
class Excel extends Controller{
	public function index(){
		//$excel = new \PHPExcel();
		$filepath = EXTEND_PATH."kuaidi.xls";   //定义文件的实际目录
		$PHPReader = new \PHPExcel_Reader_Excel2007(); 
		 //生成读取excel的对象, 注意这里new时, 要 加 \ , 否则会找不到类的
         if( ! $PHPReader->canRead($filepath))
         {
             $PHPReader = new \PHPExcel_Reader_Excel5();
             if( ! $PHPReader->canRead($filepath)){
                 echo 'no Excel';
                 return ;
            }
        }
		
		$PHPExcel = $PHPReader->load($filepath); //加载要导入的excel文件
		$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
		$highestRow = $sheet->getHighestRow(); // 取得总行数
		//$highestColumm = $sheet->getHighestColumn(); // 取得总列数
		/** 循环读取每个单元格的数据 */
		for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始
			 $codes =  $sheet->getCell("A".$row)->getValue();
			 $names =  $sheet->getCell("B".$row)->getValue();
			 $data=["codes"=>$codes,"names"=>$names];
			 Db::name('kuaidi')->insert($data);
		}

	}
}