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("入库失败");
}
}
}
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于TP6(ThinkPHP 6)框架,您可以使用PHPExcelPhpSpreadsheet库来导入Excel文件。以下是一个简单的示例代码: 首先,您需要安装PHPExcelPhpSpreadsheet库。您可以通过Composer进行安装: ``` composer require phpoffice/phpspreadsheet ``` 然后,您可以创建一个控制器方法来处理Excel文件导入: ```php use PhpOffice\PhpSpreadsheet\IOFactory; class ExcelController extends \think\Controller { public function import() { // 获取上传的Excel文件 $file = $this->request->file('excel_file'); // 读取Excel文件 $spreadsheet = IOFactory::load($file->getRealPath()); // 获取第一个工作表 $worksheet = $spreadsheet->getActiveSheet(); // 循环读取数据 foreach ($worksheet->getRowIterator() as $row) { $rowData = []; foreach ($row->getCellIterator() as $cell) { $rowData[] = $cell->getValue(); } // 在这里可以对每一行的数据进行处理,比如保存到数据库等操作 // $rowData 包含了一行的数据,可以根据需要进行处理 } // 导入成功后的操作... return '导入成功!'; } } ``` 在上面的代码,我们首先使用`IOFactory::load()`方法加载Excel文件,然后获取第一个工作表,并循环读取每一行的数据。您可以根据需要对每一行的数据进行处理,如保存到数据库等操作。 请注意,上述代码仅是一个简单的示例,您可能需要根据实际需求进行适当的修改。同时,还需要添加文件上传表单以及相应的路由配置。 希望这可以帮助到您!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值