自己解决了,我写了一个import.php和import.html,其中的db和dbconfig请参考Veo老师《PHPHExcel的探索之旅课程》
import.html代码html>
Excel导入phpMyAdmin数据库import.php代码<?php
session_start();
header("Content-type:text/html;charset:utf-8");
//全局变量
$succ_result=0;
$error_result=0;
$file=$_FILES['filename'];
$max_size="2000000"; //最大文件限制(单位:byte)
$fname=$file['name'];
$ftype=strtolower(substr(strrchr($fname,'.'),1));
//文件格式
$uploadfile=$file['tmp_name'];
if($_SERVER['REQUEST_METHOD']=='POST'){
if(is_uploaded_file($uploadfile)){
if($file['size']>$max_size){
echo "Import file is too large";
exit;
}
if($ftype!='xls'){
echo "Import file type is error";
exit;
}
}else{
echo "The file is not empty!";
exit;
}
}
$dir=dirname(__FILE__);//查找当前脚本所在路径
require $dir."/db.php";//引入mysql操作类文件
$db=new db($phpexcel);//实例化db类 连接数据库
require_once $dir."/PHPExcel/PHPExcel.php";//引入PHPExcel
require_once $dir."/PHPExcel/PHPExcel/IOFactory.php";
require_once $dir."/PHPExcel/PHPExcel/Reader/Excel5.php";
$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel = $objReader->load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$arr_result=array();
$strs=array();
for($j=2;$j<=$highestRow;$j++)
{
unset($arr_result);
unset($strs);
for($k='A';$k<= $highestColumn;$k++)
{
//读取单元格
$arr_result .= $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().',';
}
$strs=explode(",",$arr_result);
//echo $strs[0];exit;
$sql="insert into `user`(username,score,class) values ('$strs[0]',$strs[1],$strs[2])";
echo $sql."
";
mysql_query("set names utf8");
$result=mysql_query($sql) or die("执行错误");
$insert_num=mysql_affected_rows();
if($insert_num>0){
$succ_result+=1;
}else{
$error_result+=1;
}
}
echo "插入成功".$succ_result."条数据!!!
";
echo "插入失败".$error_result."条数据!!!";
其中的phpexcel类库的路径根据自己的改,数据库配置你另外写也可以。insert into 语句根据你自己的情况自己写。