thinkphp3.2.3如何实现excel导入数据到数据库

发布日期:2022-10-22 16:23

thinphp3.2.3怎么实现excel文件的导入呢?今天小编就来告诉大家怎么做。

长沙网站建设

首先我们要用到PHPExcel这个插件,这个插件可以帮助我们实现excel文件的内容导入thinkphp的程序中。

我们把下载的PHPExcel程序包放到我们的ThinkPHP\Library\Vendor\目录下面,如图所示:


新建一个控制的方法,代码如下:


public function impStudent(){
if(IS_POST){
if (!empty($_FILES)) {
$upload = new \Think\Upload();// 实例化上传类 
$upload->maxSize=3145728 ;// 设置附件上传大小 
$upload->exts=array('xlsx', 'xls');// 设置附件上传类型 
$upload->rootPath='Uploads/'; // 设置附件上传根目录 
$upload->savePath='Filesname/'; // 设置附件上传(子)目录
$upload->subName=array('date','Ymd'); // 设置附件上传(子)目录 
// 上传文件
$info=$upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
// }else{// 上传成功
//$this->success('上传成功!');

}
$suffix = $info['import']['ext'];//获取excel文件后缀
//文件存储路径
$file_name=$upload->rootPath.$info['import']['savepath'].$info['import']['savename'];
vendor("PHPExcel.PHPExcel");
//判断后缀来调用PHPExcel的读取存储的excel文件
if ($suffix == 'xlsx') {
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
} else if ($extension == 'xls'){
$objReader =\PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
}
$sheet =$objPHPExcel->getSheet(0);//获取第一个表如果要获取第二个sheet,将getSheet(0)改成getSheet(1)即可
$highestRow = $sheet->getHighestRow();//取得总行数
$highestColumn =$sheet->getHighestColumn(); //取得总列数
for($i=2;$i<=$highestRow;$i++) {
$data[$i]['任意字段名']=$objPHPExcel->getActiveSheet()->getCell("A" . $i)->getValue();//获取A列的内容
}
}
}
} 

剩下的就是将获取的批量插入数据库中,这里就省略插入数据的过程;

长沙网站开发

下面贴出前端POST请求代码:


<div class="excelimport">
<div class="dataimport">
<a class="close" href="javascript:;">&times;</a>
<div class="excelsdata">
<form action="{:U('impStudent')}" method="post" enctype="multipart/form-data">
<div class="form-item">
<label class="item-label">分站选择:<span class="check-tips"></span> </label>
<div class="controls">
<input type="text" name="usiteurl" value="">
</div>
<div class="selectsl">
<select name="sitename">
<option value="未知">未知</option>
<volist name="datas" id="lists">
<option value="{$lists.usiteurl}">{$lists.usitename}</option>
</volist>
</select>
</div>
</div>
<div class="form-item">
<label class="item-labels">上传excel表格:<span class="check-tips"><a href=""class="btn">模板下载</a></span></label>
<input type="file" name="import" class="import" />
<input type="hidden" name="weburl" value="" />
<input type="hidden" name="count" value="{$count}" />
<input type="submit" value="导入" class="btn" />
</div>
</form>
</div>
</div>
</div>

以上就是thinphp3.2.3关于excel导入的案例和方法,您学会啦吗?更多资讯与教程请关注我们长沙网站建设
以上信息由长沙网站建设--长沙蒲公英网络收集与整理,禁止用于任何商业行为
-->