ホームページ > php教程 > php手册 > php导入excel数据到mysql

php导入excel数据到mysql

WBOY
リリース: 2016-06-13 10:58:56
オリジナル
756 人が閲覧しました

实例:

 

1.导入只有一个sheets的excel文件

 

     require_once ("db.php");  //引用数据库实例化类

 

 

     require_once ("reader.php");  // 应用导入excel的类

 

 

 

     $data = new Spreadsheet_Excel_Reader();  //实例化类

 

 

    $data->setOutputEncoding('utf-8');//设置编码

    

    $data->read($_FILES["excel"]["tmp_name"]);//读取excel临时文件

 

 

    if ($data->sheets[0]['numRows']>0){   //判断excel里面的行数是不是大于0行  $data->sheets[0]['numRows']是excel的总行数

      

      for ($i = 2; $i sheets[0]['numRows']; $i++) {  //将execl数据插入数据库  $i表示从excel的第$i行开始读取  

              $sql="insert into `user` (`user_name`,`phone`,`user_email`,`password`) values(                 

                    '{$data->sheets[0]['cells'][$i][1]}',  //$i是excel中的行号

                    '{$data->sheets[0]['cells'][$i][2]}',

                   '{$data->sheets[0]['cells'][$i][3]}',

                   '123456'

             )";

        $db->query($sql);

      }

            

     }

 

 

 

2 导入存在多个sheets的excel文件

 

 其实和导入一个sheets是一样的 如果有两个sheets(以此类推)

 

require_once ("db.php");  //引用数据库实例化类

 

 

     require_once ("reader.php");  // 应用导入excel的类

 

 

 

     $data = new Spreadsheet_Excel_Reader();  //实例化类

 

 

    $data->setOutputEncoding('utf-8');//设置编码

    

    $data->read($_FILES["excel"]["tmp_name"]);//读取excel临时文件

 

 

if ($data->sheets[0]['numRows']>0){ //判断excel里面的行数是不是大于0行 $data->sheets[0]['numRows']是excel的总行数  这里的$data->sheets[0]表示excel中的第一sheets

      

      for ($i = 2; $i sheets[0]['numRows']; $i++) {  //将execl数据插入数据库  $i表示从excel的第$i行开始读取  

              $sql="insert into `user` (`user_name`,`phone`,`user_email`,`password`) values(                 

                    '{$data->sheets[0]['cells'][$i][1]}',  //$i是excel中的行号

                    '{$data->sheets[0]['cells'][$i][2]}',

                   '{$data->sheets[0]['cells'][$i][3]}',

                   '123456'

             )";

        $db->query($sql);

      }

 

 

 

 if ($data->sheets[1]['numRows']>0){   //判断excel里面的行数是不是大于0行  $data->sheets[0]['numRows']是excel的总行数 这里的$data->sheets[1]表示第二个sheets

      for ($i = 2; $i sheets[1]['numRows']; $i++) {  //将execl数据插入数据库  $i表示从excel的第$i行开始读取  

              $sql="insert into `user` (`user_name`,`phone`,`user_email`,`password`) values(                 

                    '{$data->sheets[1]['cells'][$i][1]}',  //$i是excel中的行号

                    '{$data->sheets[1]['cells'][$i][2]}',

                   '{$data->sheets[1]['cells'][$i][3]}',

                   '123456'

             )";

        $db->query($sql);

      }

 

            

     }

 

 

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート