您的位置:首页 > 编程语言 > PHP开发

PHP 导入excel数据

2014-10-23 14:17 288 查看
之前发过使用phpExcel将数据导出到excel文件的方法,本篇文章主要介绍下如何使用phpExcel将excel文件导入到数据库的方法。

这里用到的是 PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:

http://www.codeplex.com/PHPExcel

下面首先说一下本次导入的excel文件的数据格式,截图如下:

 


下面是将该excel文件的数据导入到数据库的具体代码:

查看代码

打印

01
<?php
02
require_once
 
'Classes/PHPExcel.php'
;
03
require_once
 
'Classes/PHPExcel/IOFactory.php'
;
04
require_once
 
'Classes/PHPExcel/Reader/Excel5.php'
;
05
 
06
$objReader
=PHPExcel_IOFactory::createReader(
'Excel5'
);
//use
excel2007 for 2007 format
07
$objPHPExcel
=
$objReader
->load(
$file_url
);
//$file_url即Excel文件的路径
08
$sheet
=
$objPHPExcel
->getSheet(0);
//获取第一个工作表
09
$highestRow
=
$sheet
->getHighestRow();
//取得总行数
10
$highestColumn
=
$sheet
->getHighestColumn(); 
//取得总列数
11
//循环读取excel文件,读取一条,插入一条
12
for
(
$j
=2;
$j
<=
$highestRow
;
$j
++){
//从第一行开始读取数据
13
    
$str
=
''
;
14
    
for
(
$k
=
'A'
;
$k
<=
$highestColumn
;
$k
++){            
//从A列读取数据
15
    
//这种方法简单,但有不妥,以'\\'合并为数组,再分割\\为字段值插入到数据库,实测在excel中,如果某单元格的值包含了\\导入的数据会为空       
16
        
$str
.=
$objPHPExcel
->getActiveSheet()->getCell(
"$k$j"
)->getValue().
'\\'
;
//读取单元格
17
    
}
18
    
//explode:函数把字符串分割为数组。
19
    
$strs
=
explode
(
"\\"
,
$str
);
20
    
$sql
=
"INSERT
INTO `"
.TB_PREFIX."business`(`username`,`password`,`company`,`prov`,`address`,`btime`,`phone`,`email`,`name`)
VALUES (
21
    
'{$strs[0]}'
,
22
    
'{$strs[1]}'
,
23
    
'{$strs[2]}'
,
24
    
'{$strs[3]}'
,
25
    
'{$strs[4]}'
,
26
    
'{$strs[5]}'
,
27
    
'{$strs[6]}'
,
28
    
'{$strs[7]}'
,
29
    
'{$strs[8]}'
)";
30
    
$db
->query(
$sql
);
//这里执行的是插入数据库操作
31
}
32
unlink(
$file_url
); 
//删除excel文件
另外对于如何使用phpExcel导出excel文件的,请参考本站文章:

PHP导出excel文件总结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: