1.首先下载PHPExcel插件,官网链接: https://codeplexarchive.blob.core.windows.net/archive/projects/PHPExcel/PHPExcel.zip
<?php
header("content-type:text/html;charset=utf-8");
$con =mysqli_connect("127.0.0.1","用户名","密码","库名")or die("Mysql连接失败".mysqli_connect_error());
mysqli_query($con," SET NAMES utf-8");
$filePath = './upload/';
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
require_once 'PHPExcel/Reader/Excel5.php';
//以上三步加载phpExcel的类
$file = $_FILES['file']['name'];
$filetempname = $_FILES['file']['tmp_name'];
$filename=explode(".",$file);//把上传的文件名以“.”好为准做一个数组。
$time=date("Y-m-d-H-i-s");//去当前上传的时间
$filename[0]=$time;//取文件名t替换
$name=implode(".",$filename); //上传后的文件名
$uploadfile=$filePath.$name;//上传后的文件名地址
$result=move_uploaded_file($filetempname,$uploadfile);
if($result){ //如果上传文件成功,就执行导入excel操作
$objPHPExcel = PHPExcel_IOFactory::load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
//循环读取excel文件,读取一条,插入一条
$str = "";
for($j=2;$j<=$highestRow;$j++){ //因为Excel第一行和数据表中的字段相对照,所以$j=2代表从Excel的第二行开始。
for($k='A';$k<=$highestColumn;$k++){
$str .= iconv("UTF-8","GBK",$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue()).'\\';//读取单元格
}
$strs = explode("\\",$str);
$da=iconv('GBK','UTF-8',$strs[2]);//防止中文乱码
$sql = "insert into duty (ZW_ID,Z_ID,zw_name) values('".$strs[0]."','".$strs[1]."','".$da."')";
$res= mysqli_query($con,$sql);
set_time_limit(10000); //数据量大时防止超时
if(!$res){
return false;
}
$str = "";
}
unlink($uploadfile); //删除上传的excel文件
$msg = "导入成功!";
}else{
$msg = "导入失败!";
}
echo $msg;