本文实例讲述了thinkPHP实现将excel导入到数据库中的方法。分享给大家供大家参考,具体如下:
这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面
下面是前端页面
提示:我在测试的时候遇到报错exception 'PHPExcel_Reader_Exception' with message 'The filename
原因是由于excel的文件后缀可能不同,我的文件后缀是xlsx,然后给把他另存为了xls的文件,就可以了
1
2
3
4
5
6
7
8
9
10
11
|
<html> <head> </head> <body> <form action= "{pigcms::U('Jdb/abcdefgwulisuibian')}" method= "post" enctype= "multipart/form-data" > <input type= "file" name= "import" /> <input type= "hidden" name= "table" value= "tablename" /> <input type= "submit" value= "导入" /> </form> </body> </html> |
下面是php的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
function abcdefgwulisuibianuplod(){ $this ->display(); //显示页面 } function abcdefgwulisuibian(){ if (! empty ( $_FILES )) { import( "@.ORG.UploadFile" ); $config = array ( 'allowExts' => array ( 'xlsx' , 'xls' ), 'savePath' => './Public/upload/' , 'saveRule' => 'time' , ); $upload = new UploadFile( $config ); if (! $upload ->upload()) { $this ->error( $upload ->getErrorMsg()); } else { $info = $upload ->getUploadFileInfo(); } vendor( "PHPExcel.PHPExcel" ); $file_name = $info [0][ 'savepath' ]. $info [0][ 'savename' ]; $objReader = PHPExcel_IOFactory::createReader( 'Excel5' ); $objPHPExcel = $objReader ->load( $file_name , $encode = 'utf-8' ); $sheet = $objPHPExcel ->getSheet(0); $highestRow = $sheet ->getHighestRow(); // 取得总行数 $highestColumn = $sheet ->getHighestColumn(); // 取得总列数 for ( $i =2; $i <= $highestRow ; $i ++) //这个地方根据需要,一般第一行是名称,所以从第二行开始循环,也可以从第一行开始 { $data [ 'lianjieid' ] = $objPHPExcel ->getActiveSheet()->getCell( "A" . $i )->getValue(); //数据库字段和excel列相对应 $data [ 'yaoqingma' ] = $objPHPExcel ->getActiveSheet()->getCell( "B" . $i )->getValue(); $data [ 'dlmima' ]= $objPHPExcel ->getActiveSheet()->getCell( "C" . $i )->getValue(); $data [ 'ljdizhi' ]= $objPHPExcel ->getActiveSheet()->getCell( "D" . $i )->getValue(); M( 'jdb' )->add( $data ); //插入数据库 } $this ->success( '导入成功!' ); } else { $this ->error( "请选择上传的文件" ); } } |
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。