Maison  >  Article  >  développement back-end  >  tp3.2中多个excel文件上传导入数据库示例

tp3.2中多个excel文件上传导入数据库示例

WBOY
WBOYoriginal
2016-08-08 09:25:141176parcourir

模板页面/index.html

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

	function aa(){
		var sel=document.getElementById(&#39;sel&#39;).value;
		var str=&#39;&#39;;
		for (var i=0;i<=sel-1 ;i++ )
		{
			str+=&#39;<input type="file" name="file&#39;+i+&#39;"><p>&#39;;
		}
		document.getElementById(&#39;div&#39;).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 '

';<br>//print_r($Sheet);<br>foreach($Sheet as $k=>$v){ <br>$model = M('student');// 取得成功上传的文件信息<br>$data['name']=$v[0];<br>$result=$model->add($data);<br>if($result){<br>$this->success("入库成功",U('Index/excellist'));<br>}else{<br>$this->error("入库失败");<br>}<br>}<br>}<br>}<br>}

以上就介绍了tp3.2中多个excel文件上传导入数据库示例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:工作中常用命令Article suivant:php pdo 简单使用 (一)