php导入excel更便捷的方法

来源:互联网 发布:华为光伏数据采集器 编辑:程序博客网 时间:2024/06/08 14:59

php把excel中的内容导入数据库

方法1:

1.把excel打开,另存为csv格式;

2.打开csv文件(可以用记事本打开),保存,编码设置为utf-8的格式

3.在php项目中写一个方法,如:

public function importdata(){
$t = file("xxxx.csv");//导入csv文件,file中的内容,根据csv文件路径来
for($i=0;$i<count($t);$i++){//循环每行数据
$a = explode(",",$t[$i]);//以逗号分割每行数据,存在一维数组$a中
$data = array(
"nickname"=>$a[0],
"gender"=>$a[1]=="男"?"m":"f",
"detail"=>$a[2],
"school"=>$a[3]);
$id = $this->addmember($data);//addmember()为添加数据的方法
}
}

public function addmember($data){
$this->db->insert('member', $data); 
$uid = $this->db->insert_id();
return $uid;
}

4.运行该项目下面的importdata()方法之前,要把csv文件上传到该项目中



方法二:


//开始

//php文件中的内容
require_once 'Classes/PHPExcel.php';
require_once 'Classes/PHPExcel/IOFactory.php';
require_once 'Classes/PHPExcel/Reader/Excel5.php';

$objReader=PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel=$objReader->load($file_url);//$file_url即Excel文件的路径
$sheet=$objPHPExcel->getSheet(0);//获取第一个工作表
$highestRow=$sheet->getHighestRow();//取得总行数
$highestColumn=$sheet->getHighestColumn(); //取得总列数
//循环读取excel文件,读取一条,插入一条
for($j=2;$j<=$highestRow;$j++){//从第一行开始读取数据
 $str='';
 for($k='A';$k<=$highestColumn;$k++){            //从A列读取数据
 //这种方法简单,但有不妥,以'\\'合并为数组,再分割\\为字段值插入到数据库,实测在excel中,如果某单元格的值包含了\\导入的数据会为空       
  $str.=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'\\';//读取单元格
 }
 //explode:函数把字符串分割为数组。
 $strs=explode("\\",$str);
 $sql="INSERT INTO `".TB_PREFIX."business`(`username`,`password`,`company`,`prov`,`address`,`btime`,`phone`,`email`,`name`) VALUES (
 '{$strs[0]}',
 '{$strs[1]}',
 '{$strs[2]}',
 '{$strs[3]}',
 '{$strs[4]}',
 '{$strs[5]}',
 '{$strs[6]}',
 '{$strs[7]}',
 '{$strs[8]}')";
 $db->query($sql);//这里执行的是插入数据库操作
}
unlink($file_url); //删除excel文件
//结束



链接:http://blog.csdn.net/perseveranceyl/article/details/41014031


链接:http://blog.csdn.net/perseveranceyl/article/details/41014031
0 0
原创粉丝点击