thinkPHP---Excel的導入

首先下載Excel類庫,直接解壓後放到vendor文件夾中。點擊下載

實例

function upExecel(){

	//判斷是否選擇了要上傳的表格
	if (empty($_POST['myfile'])) {
		echo "<script>alert(您未選擇表格);history.go(-1);</script>";
	}

	//獲取表格的大小,限制上傳表格的大小5M
	$file_size = $_FILES['myfile']['size'];
	if ($file_size>5*1024*1024) {
	echo "<script>alert('上傳失敗,上傳的表格不能超過5M的大小');history.go(-1);</script>";
		exit();
	}

	//限制上傳表格類型
	$file_type = $_FILES['myfile']['type'];
	//application/vnd.ms-excel  爲xls文件類型
	if ($file_type!='application/vnd.ms-excel') {
		echo "<script>alert('上傳失敗,只能上傳excel2003的xls格式!');history.go(-1)</script>";
	 exit();
	}

	//判斷表格是否上傳成功
	if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
		 Vendor('PHPExcel.PHPExcel');
         Vendor('PHPExcel.PHPExcel.Worksheet.Drawing');
         Vendor('PHPExcel.PHPExcel.Writer.Excel2007');
		//以上三步加載phpExcel的類

		$objReader = \PHPExcel_IOFactory::createReader('Excel2007');//use excel2007 for 2007 format 
		//接收存在緩存中的excel表格
		$filename = $_FILES['myfile']['tmp_name'];
		$objPHPExcel = $objReader->load($filename); //$filename可以是上傳的表格,或者是指定的表格
		$sheet = $objPHPExcel->getSheet(0); 
		$highestRow = $sheet->getHighestRow(); // 取得總行數 
		// $highestColumn = $sheet->getHighestColumn(); // 取得總列數
		
		//循環讀取excel表格,讀取一條,插入一條
		//j表示從哪一行開始讀取  從第二行開始讀取,因爲第一行是標題不保存
		//$a表示列號
		for($j=2;$j<=$highestRow;$j++)  
		{
			$a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//獲取A(學生名字)列的值
			$b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//獲取B(性別)列的值
			$c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//獲取C(入學時間)列的值
			$d = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//獲取D(班級)列的值
			$e = $objPHPExcel->getActiveSheet()->getCell("E".$j)->getValue();//獲取D(學校)列的值

			//null 爲主鍵id,自增可用null表示自動添加
			$sql = "INSERT INTO stu set stuname='$a',sex='$b',stime='$c',classid='$d',schoolid='$e'";
			// echo "$sql";
			// exit();
			$con=mysqli_connect('localhost','root','root','stuadmin');
			$res = mysqli_query($con,$sql);
			if(!$res){
				echo '添加失敗!';
				header('Location:'.url('/index/up/morestuadd'));
			}
		}
		echo "<script language=\"javascript\">alert(\"上傳成功!\")</script>";
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章