phpexcel导入

最近写了一个项目,主要是给58销售的朋友用的,他需要用到excel导入到数据库,正好研究下。

1.首先下载一个phpexcel到本地,然后解压之后就可以将phpExcel文件夹和phpExcel.php这两个放到vendor目录里面方便引入,

2.显示excel导入的页面,

<form enctype="multipart/form-data" method="post" id="form-admin-role-add" action="{:U('home/index/addExcel')}">
<div>
<input type="file" name="excel" />
<input type="submit" value="导入" class="btn btn-w-m btn-primary btn-outline" />
</div>
</form>

这是导入页面的html代码。

3.写一个接收文件上传的方法,处理文件的名字,把文件放到指定的位置

//接收前台文件,  
public function addExcel()  
    {      
        //接收前台文件  
        $ex = $_FILES['excel']; 
        //重设置文件名  
        $filename = time().substr($ex['name'],stripos($ex['name'],'.')); 

        $path = PUBLIC_DIR.'excel/'.$filename;//设置移动路径  
if(!file_exists(PUBLIC_DIR  . '/'.'excel')){
//makedir 如果文件夹不存在就创建一个文件夹
mkdir(PUBLIC_DIR  . '/'.'excel',0777);
}
        $a = move_uploaded_file($ex['tmp_name'],$path);  
        $exfn = $this->_readExcel($path);  

    }  

这里有一个_readExcel这个方法,还没贴出来,这个是读取excel的方法

4.读取excel并返回数组

public function _readExcel($path)  

    {      
        //引用PHPexcel 类  
vendor("PHPExcel.PHPExcel.PHPExcel");
vendor("PHPExcel.PHPExcel.IOFactory");


        $type = 'Excel2007';//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版  
        $xlsReader = \PHPExcel_IOFactory::createReader($type);    
        $xlsReader->setReadDataOnly(true);  
        $xlsReader->setLoadSheetsOnly(true);  
        $Sheets = $xlsReader->load($path);  
        //开始读取上传到服务器中的Excel文件,返回一个二维数组  
        $dataArray = $Sheets->getSheet(0)->toArray();  
        return $dataArray;  

    }  

到这一步之后你就得到了$exfn,这个就是你excel里面的内容了

建议数据库的字段和excel最好能对上,时间,电话等数据需要谨慎处理,时间格式到了数组会变成一个不正常的浮点数,需要转化下,百度有,方法很简单。

excel导入就算完成了,然后你数据入库只需要写写入就好了,addAll


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会php的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值