ホームページ  >  記事  >  バックエンド開発  >  tp3.2で複数のExcelファイルをデータベースにアップロードする例

tp3.2で複数のExcelファイルをデータベースにアップロードする例

WBOY
WBOYオリジナル
2016-08-08 09:25:141126ブラウズ

テンプレートページ/index.html

<span style="color:#000000;"><meta charset=&#39;utf-8&#39;></meta>
<form action="{:U(&#39;Index/uploads&#39;)}" method="post" enctype="multipart/form-data">
上传<select onchange=&#39;aa()&#39; id=&#39;sel&#39;><?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+=&#39;<input type="file" name="file&#39;+i+&#39;"><p>';
		}
		document.getElementById('div').innerHTML=str;
		}
</script></span>

クリックするとコントロールにジャンプし、使用するPHPexcelファイルをTinkPHP/vendor/Excel/(Excelフォルダーが必要です。手動で作成してください) )

public function Uploads(){$upload = new ThinkUpload(); // アップロード クラスをインスタンス化します
$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 パスを指定します。 read
//$type = 'Excel2007'; //Excel5 (2003 以前) または Excel2007 を解析する Excel の種類を設定します
//echo $xlsPath;
$type = 'Excel5';
$ xlsReader = $PHPReader-> ;createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets = $xlsReader->load($xlsPath);
// 読み取りを開始します。
$Sheet = $Sheets->getSheet(0)->toArray(); //最初のワークシートを読み取ります (番号は 0 から始まることに注意してください) 0,1, の複数の A ループを読み取る場合、これを行うことができます。 2,3....
//それぞれの小さな配列は Excel テーブルの内容の行であり、この行の各列のデータが含まれます
//echo '

' ; 
//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("ストレージに失敗しました");
}
}
}
}
}

上記では、tp3.2 で複数の Excel ファイルをアップロードしてデータベースにインポートする例を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。