本帖最后由 xuzuning 于 2013-11-14 13:36:39 编辑
在的表格很简单,就12列数据,要导入MYSQL
在网上找的代码,自己测试的文件和下载的文件都在一个文件夹里,
有四个文件1,data.xls 2.index.php 3,reader.php(下载的) 4,oleread.inc(下载的)
data.xls表格里数据
num,names,years,season,groups,colornote,colornum,price,types,sizes,materials,note
有两行记录
index代码如下
<?<br />
require_once 'reader.php'; // ExcelFile($filename, $encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->setOutputEncoding('gbk'); <br />
//”data.xls”是指要导入到mysql中的excel文件 <br />
$data->read('data.xls'); <br />
@ $db = mysql_connect('localhost', 'root', '123123') or <br />
die("Could not connect to database.");//连接数据库 <br />
mysql_query("set names 'gbk'");//输出中文 <br />
mysql_select_db('test'); //选择数据库 <br />
error_reporting(E_ALL ^ E_NOTICE); <br />
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {<br />
//以下注释的for循环打印excel表数据 <br />
/* <br />
for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) { <br />
echo "\"".$data->sheets[0]['cells'][$i][$j]."\","; <br />
} <br />
echo "\n"; <br />
*/ <br />
//以下代码是将excel表数据【3个字段】插入到mysql中, <br />
//根据你的excel表字段的多少,改写以下代码吧! <br />
$sql = "INSERT INTO test <br />
(<br />
num,names,years,season,groups,colornote,colornum,price,types,sizes,materials,note<br />
)<br />
VALUES('". <br />
$data->sheets[0]['cells'][$i][1]."','". <br />
$data->sheets[0]['cells'][$i][2]."','". <br />
$data->sheets[0]['cells'][$i][4]."','". <br />
$data->sheets[0]['cells'][$i][5]."','". <br />
$data->sheets[0]['cells'][$i][6]."','". <br />
$data->sheets[0]['cells'][$i][7]."','". <br />
$data->sheets[0]['cells'][$i][8]."','". <br />
$data->sheets[0]['cells'][$i][9]."','". <br />
$data->sheets[0]['cells'][$i][10]."','". <br />
$data->sheets[0]['cells'][$i][11]."','". <br />
$data->sheets[0]['cells'][$i][12]."')"; <br />
echo $sql.'< br />'; <br />
$res = mysql_query($sql); <br />
} <br />
?>
运行index.php报以下错误
Fatal error: Call to a member function read() on a non-object in D:\AppServ\www\aaee\index.php on line 4