下載PHPExcel,解壓到目錄PHPExcel。下載地址:密碼:7z87
php導(dǎo)入excel到mysql的方法
引用連接數(shù)據(jù)庫(kù)文件和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導(dǎo)入excel到mysql的方法 這里是導(dǎo)入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(); //取得總行數(shù) $highestColumn = $sheet->getHighestColumn(); //取得總列數(shù) |
逐行循環(huán)讀取excel,并加入分隔符。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | for($j=2;$j<=$highestRow;$j++) //從第二行開(kāi)始讀取數(shù)據(jù) { $str=""; for($k='A';$k<=$highestColumn;$k++) //從A列讀取數(shù)據(jù) { $str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//讀取單元格 } $str=mb_convert_encoding($str,'GBK','auto');//根據(jù)自己編碼修改 $strs = explode("|*|",$str); // echo $str . "<br />"; $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'; } } |
數(shù)據(jù)庫(kù)連接文件conn.php,根據(jù)自己數(shù)據(jù)庫(kù)填寫(xiě)
<?php
$conn=mysql_connect("localhost","root","123456") or die("數(shù)據(jù)庫(kù)服務(wù)器連接錯(cuò)誤".mysql_error());
mysql_select_db("temp",$conn) or die("數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)錯(cuò)誤".mysql_error());
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
?>
導(dǎo)入效果圖
全部代碼,注釋部分可以調(diào)試
<?php include("conn.php"); require_once './PHPExcel/PHPExcel.php'; require_once './PHPExcel/PHPExcel/IOFactory.php'; require_once './PHPExcel/PHPExcel/Reader/Excel5.php'; $objReader = PHPExcel_IOFactory::createReader('excel2007'); //use Excel5 for 2003 format $excelpath='myexcel.xlsx'; $objPHPExcel = $objReader->load($excelpath); $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); //取得總行數(shù) $highestColumn = $sheet->getHighestColumn(); //取得總列數(shù) for($j=2;$j<=$highestRow;$j++) //從第二行開(kāi)始讀取數(shù)據(jù) { $str=""; for($k='A';$k<=$highestColumn;$k++) //從A列讀取數(shù)據(jù) { $str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//讀取單元格 } $str=mb_convert_encoding($str,'GBK','auto');//根據(jù)自己編碼修改 $strs = explode("|*|",$str); //echo $str . "<br />"; //exit; $sql = "insert into test (title,content,sn,num) values ('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}')"; //echo $sql; //exit; if(!mysql_query($sql,$conn)) { echo 'excel err'; } } ?> |
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 織夢(mèng)php導(dǎo)入excel表到mysql數(shù)據(jù)庫(kù)的方法