0x01.准备:
下载phpExcelReader URL:http://sourceforge.net/projects/phpexcelreader/
文件包含: 示例文件example/example2.php 核心文件Excel/reader.php,oleread.inc
reader.php 主类 ,oleread.inc 预配置文件
修改reader.php文件中第31行(或附近)
修改require_once 'Spreadsheet/Excel/Reader/OLERead.php';为require_once'oleread.inc'; 否则报错(因为不存在oleread.php)
0x02.使用:
example.php中有示例 需要注意:
$data->setOutptEncoding('cp936');
使用繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明
excel文件尽量选择xls格式的
代码参照:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php require_once 'Excel/reader.php' ; $filename = 'xxx.xls' ; //设置要读取的Excel文件 $data = new Spreadsheet_Excel_Reader(); //实例化 $data ->setOutputEncoding( 'cp936' ); //设置输出编码格式 $data ->read( $filename ); for ( $i =1; $i <= $data ->sheets[0][ 'numRows' ]; $i ++){ //分别遍历行 列 for ( $j =1; $j <= $data ->sheets[0][ 'numCols' ]; $j ++){ echo $data ->sheets[0][ 'cells' ][ $i ][ $j ]; } } ?> |
$data->sheets[0]['cells'] cells取出单元格中的值 。
以上只是简单示例。
假如读取excel表中的数据,一般列值是固定的,可采用数组的方式存储
列值:id,name,passwd,sex,email,age,phone numbers,address
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php require_once 'Excel/reader.php' ; $filename = 'xxx.xls' ; //设置要读取的Excel文件 $data = new Spreadsheet_Excel_Reader(); //实例化 $data ->setOutputEncoding( 'cp936' ); //设置输出编码格式 $data ->read( $filename ); for ( $i =1; $i <= $data ->sheets[0][ 'numRows' ]; $i ++){ $id = $data ->sheets[0][ 'cells' ][1]; $name = $data ->sheets[0][ 'cells' ][2]; $passwd = $data ->sheets[0][ 'cells' ][3]; .... } //MySQL 实例化 $sql = "insert into xx set id='$id',name='$name',...... " ; mysql_query( $sql , $conn ); ... ?> |