tp3.2中多個excel文件上傳導入數據庫示例

模板頁面/index.html

<span style="color:#000000;"><meta charset='utf-8'></meta>
<form action="{:U('Index/uploads')}" method="post" enctype="multipart/form-data">
上傳<select οnchange='aa()' id='sel'><?php for($i=1;$i<=10 ;$i++ ){?>
<option value=<?php echo $i;?>><?php echo $i;?></option><?php }?></select>個<p>
<div id="div" class="">
<input type="file" name="file"><p>   
</div><input type="submit" value="提交" /> 
</form>
<script type="text/javascript">

	function aa(){
		var sel=document.getElementById('sel').value;
		var str='';
		for (var i=0;i<=sel-1 ;i++ )
		{
			str+='<input type="file" name="file'+i+'"><p>';
		}
		document.getElementById('div').innerHTML=str;
		}
</script></span>

點擊跳轉到控制中把所用到的PHPexcel文件放入到TinkPHP/vendor/Excel/(Excel文件夾需自己手動創建)

public function uploads(){
$upload = new \Think\Upload();// 實例化上傳類
$upload->maxSize = 3145728 ;// 設置附件上傳大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','xls');// 設置附件上傳類型
// 上傳文件
$info = $upload->upload();
if(!$info){// 上傳錯誤提示錯誤信息
$this->error($upload->getError());
}else{// 上傳成功

foreach($info as $file){
$files='./Public/'.$file['savepath'].$file['savename'];
vendor("Excel.PHPExcel");
vendor("Excel.PHPExcel.PHPExcel_IOFactory");
$PHPExcel = new \PHPExcel();
//var_dump($PHPExcel);
$PHPReader = new \PHPExcel_IOFactory();
//var_dump($PHPReader);die;
$xlsPath =$files ; //指定要讀取的exls路徑
//$type = 'Excel2007'; //設置要解析的Excel類型 Excel5(2003或以下版本)或Excel2007
//echo $xlsPath;
$type = 'Excel5';
$xlsReader = $PHPReader->createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets = $xlsReader->load($xlsPath);
//開始讀取a
$Sheet = $Sheets->getSheet(0)->toArray(); //讀取第一個工作表(注意編號從0開始) 如果讀取多個可以做一個循環0,1,2,3....

//得到二維數組,每個小數組是excel表格內容的一行 裏面包含此行的每列的數據
//echo '<pre>';
//print_r($Sheet);
foreach($Sheet as $k=>$v){
$model = M('student');// 取得成功上傳的文件信息
$data['name']=$v[0];
$result=$model->add($data);
if($result){
$this->success("入庫成功",U('Index/excellist'));
}else{
$this->error("入庫失敗");
}
}
}
}


}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章