欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php导入excel数据到mysql

程序员文章站 2022-03-10 12:05:00
...
实例:

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);

}

}