前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHPEXCEL批量导入数据

PHPEXCEL批量导入数据

作者头像
申霖
发布2019-12-27 18:08:12
1.9K0
发布2019-12-27 18:08:12
举报
文章被收录于专栏:小白程序猿

开发过程中有一些数据,如报表信息、财务统计等信息使用excel进行存储,需要将文件导入到数据库中,下面我们将以一个简单的小例子,演示批量导入。

使用thinkphp5.0版本框架结合phpexcel1.8版本进行演示批量导入数据至数据库中,下面为示例代码:

代码语言:javascript
复制
/**
 * 批量导入记录
 */
public function push()
{
    //获取上传后的文件
    $fileName = 'demo.xls';
    //文件路径
    $filePath = './txt/' . $fileName;
    //实例化PHPExcel类
    $PHPReader = new \PHPExcel_Reader_Excel5();
    //读取excel文件
    $objPHPExcel = $PHPReader->load($filePath);
    //读取excel文件中的第一个工作表
    $sheet  = $objPHPExcel->getSheet(0);
    $allRow = $sheet->getHighestRow();  //取得总行数
    //$allColumn = $sheet->getHighestColumn();  //取得总列数
    //从第二行开始插入,第一行是列名
    for($j = 1; $j <= $allRow; $j++) {
        $data['m_name'] = $objPHPExcel->getActiveSheet()->getCell("A" . $j)->getValue();
        $data['m_phone']  = $objPHPExcel->getActiveSheet()->getCell("B" . $j)->getValue();
        $data['m_status']  = 1;
        $last_id      = $this->member_model->insert($data);//保存数据,并返回主键id
        if($last_id) {
            echo "第" . $j . "行导入成功<br/>";
        } else {
            echo "第" . $j . "行导入失败!<br/>";
        }
    }
}

注意:thinkphp框架,在进行循环插入时不要使用db类,数量多的情况下会出现创建进程过多的情况,导致写入失败,建议使用模型方法,测试10000条数据未出现问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档