1 <?php
2 if($_POST['submit']){
3 require_once('PHPExcel.php');
4 mysql_connect("localhost","root","admin") or die("连接数据库服务器失败!");
5 mysql_select_db("test") or die("没有您选择的数据库!");
6 mysql_set_charset("utf8");
7 if ($_FILES["file"]["error"] > 0){
8 echo "Error: " . $_FILES["file"]["error"] . "<br />";
9 }
10 $old_name_arr=explode(".", $_FILES["file"]["name"]);
11 $flies_new_name=md5(time()).".".$old_name_arr[1];
12 if(move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $flies_new_name)){
13 $url="upload/" . $flies_new_name; //上传的excel文件路径
14 }else{
15 echo "上传失败";
16 }
17
18 $PHPExcel = new PHPExcel();
19 $PHPReader = new PHPExcel_Reader_Excel5();
20 $PHPExcel = $PHPReader->load($url); //读取excel文件
21 $currentSheet = $PHPExcel->getSheet(0); //读取excel文件中的第一个工作表
22 $allColumn = $currentSheet->getHighestColumn(); //取得最大的列号
23 $allRow = $currentSheet->getHighestRow(); //取得一共有多少行
24 for($r=2;$r<=$allRow;$r++){ //$r=2 从第二行开始输出,excel中第一行为列名,每循环一行,执行一条sql
25 for($c="A";$c<=$allColumn;$c++){ //循环列
26 $value .= $PHPExcel->getActiveSheet()->getCell("$c$r")->getValue().'//';
//循环获取整行的值,并将值保存到字符串$value中
27 //iconv('utf-8','gbk',"") 解决乱码
28 }
29 $value_arr = explode("//",$value); //将字符串$value 通过explode() 分割成数组
30 if($value_arr[0]=="1"){ //判断excel字段,使用增加sql
31 $sql = "INSERT INTO test (t_contet) VALUES ('".$value_arr[2]."')";
32 }
33 if($value_arr[0]=="2"){ //判断excel字段,使用修改sql
34 $sql = "UPDATE test SET t_contet ='".$value_arr[2]."' WHERE id='".$value_arr[1]."'";
35 }
36 if($value_arr[0]=="3"){ //判断excel字段,使用删除sql
37 $sql = "DELETE FROM test WHERE id= '".$value_arr[1]."'";
38 }
39 $result = mysql_query($sql);
40 if($result){ //判断sql运行结果
41 $value="";
42 }else{
43 $f="fail";
44 }
45 }
46 if($f==""&&unlink($url)){ //若f有值,说明有未成功的sql语句
47 echo "操作成功";
48 }else{
49 echo "操作失败";
50 $f="";
51 }
52
53 }
54 ?>
1 <form name="form2" method="post" enctype="multipart/form-data">
2 <input type="hidden" name="leadExcel" value="true">
3 <table align="center" width="90%" border="0">
4 <tr>
5 <td>
6 <input type="file" name="file"><input type="submit" name="submit" value="导入数据">
7 </td>
8 </tr>
9 </table>
10 </form>