PHP处理Excel数据,保存数据库

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格式的

代码参照:

<?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

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

              

                




你可能感兴趣的:(php处理excel数据)