利用PHPexcel将excel导入数据库

sanlanlan 2019-6-6 标签: PHP 浏览:978 评论:0

利用PHPexcel可以生成excel表格,同样的也可以利用PHPexcel将excel导入数据库


在项目中引入PHPExcel.php文件

require (dirname(__FILE__).'/../../Classes/PHPExcel.php'); //根据自己具体的路径


//$objReader = PHPExcel_IOFactory::createReader('Excel5');//excel 2003
$objReader = PHPExcel_IOFactory::createReader('Excel2007');//excel 2007
$objPHPExcel = $objReader->load($filename); //$filename 文件路径

$objPHPExcel = PHPExcel_IOFactory::load($uploadfile); //要是上面的load方法有问题的话,就用这个



$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestRow(); // 取得总行数 
$highestColumn = $sheet->getHighestColumn(); // 取得总列数

(1)
//如果你的excel表格是已经知道是这样的格式

姓名 年龄 学号
张三 18 A100
李四 18 A101
王五 18 A102


可以这样操作:

for($r=2;$r<=$highestRow;$r++){

$a = $objPHPExcel->getActiveSheet()->getCell("A".$r)->getValue();//获取A列的值
$b = $objPHPExcel->getActiveSheet()->getCell("B".$r)->getValue();//获取B列的值

//接下来有了数据,就是数据库操作了

}


(2)

如果是不确定格式的:


for($r=2;$r<=$highestRow;$r++)   {    
            for($c='A';$c<=$highestColumn;$c++)   {    
                //$str .= iconv('utf-8','gbk',$objPHPExcel->getActiveSheet()->getCell("$c$r")->getValue()).'\\';

                $str .= $objPHPExcel->getActiveSheet()->getCell("$c$r")->getValue().'||';  //这边有可能要考虑字符编码问题
            }   
          
            $strs = explode("||",$str);  
            
            $sql ="INSERT INTO table (name,sex,number) VALUES ('".$strs[0]."','".$strs[1]."','".$strs[2]."')";       

            //接下来有了数据,就是数据库操作了
            $str = '';  
 } 

本文相关标签: php excel

发表评论: