日期:2014-05-17  浏览次数:20785 次

php导入excel 收藏

php导入excel

PHP-ExcelReader,下载地址: http://sourceforge.net/projects/phpexcelreader

说明:
测试环境:MYSQL数据库采用utf8编码.导入EXCEL文档是xls格式,经过测试,xlsx 格式[excel 2007]也OK.
文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行http://localost/test.php实现导入。
以下是我贴出的详细代码,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。
下载以后,请根据实际情况更改调用路径包括 reader.php调用oleread.inc
1.? ? test.php

<?php
require_once 'reader.php';

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data->setOutputEncoding('gbk');

//”data.xls”是指要导入到mysql中的excel文件
$data->read('data.xls');

@ $db = mysql_connect('localhost', 'root', '123456') or
? ?? ? die("Could not connect to database.");//连接数据库
mysql_query("set names 'gbk'");//输出中文
mysql_select_db('mydb');? ?? ? //选择数据库
error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
/*
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
? ?? ?? ?? ?echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
? ?? ?? ???}
? ?? ?? ???echo "\n";
*/
//以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
? ? $sql = "INSERT INTO test VALUES('".
? ?? ?? ?? ?? ?$data->sheets[0]['cells'][$i][1]."','".
? ?? ?? ?? ?? ???$data->sheets[0]['cells'][$i][2]."','".
? ?? ?? ?? ?? ???$data->sheets[0]['cells'][$i][3]."')";
? ? echo $sql.'<br />';
? ?? ? $res = mysql_query($sql);
}

?>

PHP-ExcelReader,下载地址: http://sourceforge.net/projects/phpexcelreader

说明:
测试环境:MYSQL数据库采用utf8编码.导入EXCEL文档是xls格式,经过测试,xlsx 格式[excel 2007]也OK.
文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行http://localost/test.php实现导入。
以下是我贴出的详细代码,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。
下载以后,请根据实际情况更改调用路径包括 reader.php调用oleread.inc
1.? ? test.php

<?php
require_once 'reader.php';

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data->setOutputEncoding('gbk');

//”data.xls”是指要导入到mysql中的excel文件
$data->read('data.xls');

@ $db = mysql_connect('localhost', 'root', '123456') or
? ?? ? die("Could not connect to database.");//连接数据库
mysql_query("set names 'gbk'");//输出中文
mysql_select_db('mydb');? ?? ? //选择数据库
error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
/*
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
? ?? ?? ?? ?echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
? ?? ?? ???}
? ?? ?? ???echo "\n";
*/
//以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
? ? $sql = "INSERT INTO test VALUES('".
? ?? ?? ?? ?? ?$data->sheets[0]['cells'][$i][1]."','".
? ?? ?? ?? ?? ???$data->sheets[0]['cells'][$i][2]."','".
? ?? ?? ?? ?? ???$data->sheets[0]['cells'][$i][3]."')";
? ? echo $sql.'<br />';
? ?? ? $res = mysql_query($sql);
}

?>