首页  »  站长资讯  »  网站优化

织梦php导入excel表到mysql数据库的方法

2023/03/11 12:24     创新屋收录网     已浏览359次



下载PHPExcel,解压到目录PHPExcel。下载地址:https://pan.baidu.com/s/1ZddNIDaR9XdXvQl-iZNOcw

php导入excel到mysql的方法

引用连接数据库文件和PHPExcel文件,在php文件上面加上代码











1


2


3


4


5


6


7


8


9


10


11


12




include("conn.php"); 


 require_once './PHPExcel/PHPExcel.php';


    require_once './PHPExcel/PHPExcel/IOFactory.php';


    require_once './PHPExcel/PHPExcel/Reader/Excel5.php';


php导入excel到mysql的方法


这里是导入excel2007 的xlsx格式,如果是2003格式可以把“excel2007”换成“Excel5",$excelpath是你的excel路径。


$objReader = PHPExcel_IOFactory::createReader('excel2007'); //use Excel5 for 2003 format 


$excelpath='myexcel.xlsx';


$objPHPExcel = $objReader->load($excelpath); 


    $sheet = $objPHPExcel->getSheet(0); 


    $highestRow = $sheet->getHighestRow();           //取得总行数 


$highestColumn = $sheet->getHighestColumn(); //取得总列数




php导入excel到mysql的方法



逐行循环读取excel,并加入分隔符。











1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17




for($j=2;$j<=$highestRow;$j++)                        //从第二行开始读取数据


    { 


$str="";


        for($k='A';$k<=$highestColumn;$k++)            //从A列读取数据


         { 


             $str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//读取单元格


         } 


$str=mb_convert_encoding($str,'GBK','auto');//根据自己编码修改


$strs = explode("|*|",$str);


// echo $str . "";


            $sql = "insert into test (title,content,sn,num) values ('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}')";


//echo $sql;


            if(!mysql_query($sql,$conn))


            {


               echo 'excel err';


            }


}



数据库连接文件conn.php,根据自己数据库填写



$conn=mysql_connect("localhost","root","123456") or die("数据库服务器连接错误".mysql_error());

mysql_select_db("temp",$conn) or die("数据库访问错误".mysql_error());

mysql_query("set character set gb2312");

mysql_query("set names gb2312");

?>

导入效果图




全部代码,注释部分可以调试




















01












02

include("conn.php");











03

 require_once './PHPExcel/PHPExcel.php';











04

    require_once './PHPExcel/PHPExcel/IOFactory.php';











05

    require_once './PHPExcel/PHPExcel/Reader/Excel5.php';











06

$objReader = PHPExcel_IOFactory::createReader('excel2007'); //use Excel5 for 2003 format











07

$excelpath='myexcel.xlsx';











08

$objPHPExcel = $objReader->load($excelpath);











09

    $sheet = $objPHPExcel->getSheet(0);











10

    $highestRow = $sheet->getHighestRow();           //取得总行数











11

$highestColumn = $sheet->getHighestColumn(); //取得总列数











12

for($j=2;$j<=$highestRow;$j++)                        //从第二行开始读取数据











13

    {











14

$str="";











15

        for($k='A';$k<=$highestColumn;$k++)            //从A列读取数据











16

         {











17

             $str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//读取单元格











18

         }











19

$str=mb_convert_encoding($str,'GBK','auto');//根据自己编码修改











20

$strs = explode("|*|",$str);











21

//echo $str . "
"
;











22

//exit;











23

            $sql = "insert into test (title,content,sn,num) values ('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}')";











24

//echo $sql;











25

//exit;











26

            if(!mysql_query($sql,$conn))











27

            {











28

               echo 'excel err';











29

            }











30

}











31

?>