php excel导入mysql 例子,phpexcel类的使用实例 excel数据导入mysql数据库

刚好项目中要使用php解析用户上传的excel文件。php中刚好有phpexcel类可以直接使用,于是就拿过来研究下。

下面以实例的方式,分析我的解决思路。

我的思路:

首先上传的文件,并且重命名。

拿到刚才上传的文件路径,将excel文档里面的数据,全部读取出来。保存到数组中。

对数组进行相应的操作,比如,直接写入到mysql数据库中。

思路有了,那么我们就来看看代码需要哪些?

第一步、首先我这里封装两个函数。

一个上传excel文件函数,

一个是读取excel数据的函数。

函数如下:

// excel上传文件

public function upexcel($file)

{

$pubtime1=date("Y-m-d",time());

$pubtime2=explode("-",$pubtime1);

$dir = "./uploads/$pubtime2[0]/$pubtime2[1]/$pubtime2[2]/";

if(!is_dir($dir)){

mkdir($dir,0777,TRUE);

}

// 允许的上传格式

$arrext = array('xlsx','xls');

if($file['size'] > 3145728 ) $this->error('文件上传大于3M');

// 获取上传文件的后缀

$ext = pathinfo($file['name'], PATHINFO_EXTENSION);

if(!in_array(strtolower($ext),$arrext)) $this->error('文件类型不正确,正确格式xls/xlsx');

// 组装文件名称

$filename = $dir.time().rand(10000,99999).'.'.$ext;

// 上传文件

if(move_uploaded_file($file['tmp_name'],$filename)){

return $filename;

}else{

$this->error('文件上传失败');

}

}

// 将excel里面的数据 读取出来 存入数组

public function setexcel($filename)

{

header("Content-type:text/html;charset=utf-8");   // 设置编码

require_once './phpexcel/PHPExcel.php';           // 引入phpexcel文件

$PHPExcel = \PHPExcel_IOFactory::load($filename); // 加载excel文件

$currentSheet = $PHPExcel->getSheet(0);           // 第一个sheet

$col = $currentSheet->getHighestColumn();         // 取得总列数

$row = $currentSheet->getHighestRow();            // 取得总行数

$arr = array();

for ($currentRow = 1; $currentRow <= $row; $currentRow++) {

for ($currentColumn = 'A'; $currentColumn <= $col; $currentColumn++) {

$arr[$currentRow][] .= $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65, $currentRow)->getValue();

}

}

return $arr;

}

第二步:得到excel表格中的数据之后,我们将其写入到mysql中。

// 先上传 得到文件名

$filename = $this->upexcel($_FILES['enroll']);

// 将excel文件里的数据读取出来

$arr = $this->setexcel($filename);

// 判断上传的excel文件是否有值

if(count($arr) <= 0 ){

unlink($filename);

$this->error('导入数据为空,请重新上传');

}

// 可以直接写入到数据库中了

$roster = D('table');

foreach($arr as $v){

$roster->add($data);

}

通过上面的实例很轻松的就完成了,php导入excel数据。并且写入到mysql数据库的功能了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值