頁面編碼:gb2312
mysql編碼:gb2312
<?php
include_once('inc/conn.php');
$file = $HTTP_POST_FILES['file']['name'];
$filetempname = $_FILES['file']['tmp_name'];
//自己設置的上傳文档存放路徑
$filePath = 'upFile/';
$str = "";
require_once 'PHPExcel.php';
require_once 'PHPExcel\IOFactory.php';
require_once 'PHPExcel\Reader\Excel2007.php';//excel 2007
$filename=explode(".",$file);//把上傳的文档名以“.”好爲準做一個數組。
$time=date("Y-m-d-H-i-s");//去當前上傳的時間
$filename[0]=$time;//取文档名t替換
$name=implode(".",$filename); //上傳後的文档名
$uploadfile=$filePath.$name;//上傳後的文档名地址
//move_uploaded_file() 函數將上傳的文档移動到新位置。若成功,則返回 true,否則返回 false。
$result=move_uploaded_file($filetempname,$uploadfile);//假如上傳到當前目錄下
if($result){ // 如果上傳文档成功,就執行導入excel操作
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = PHPExcel_IOFactory::load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
// 循環讀取excel文档,讀取一條,插入一條
for($j=2;$j<=$highestRow;$j++){
for($k='A';$k<=$highestColumn;$k++){
$str .= iconv("UTF-8","gbk",$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue()).'\\';//讀取單元格
}
$strs = explode("\\",$str);
mysql_query("set names 'gb2312'");//這就是指定數據庫字符集,一般放在連接數據庫後面就系了
$sql = "INSERT INTO report (duty_date,name_am,name_pm) VALUES('".$strs[0]."','".$strs[1]."','".$strs[2]."')";
if(!mysql_query($sql)){
return false;
}
$str = "";
}
unlink($uploadfile); //刪除上傳的excel文档
$msg = "導入成功!";
}else{
$msg = "導入失敗!";
}
return $msg;conn.php是數據庫連接代碼!