$_POST['file']取得的地址为服务器临时保存文件的地址,并不是当前php程序的目录,因此会发生找不到文件的问题,另外如果存到了没有访问权限的目录下,会出现不能读。
创新互联专注于企业全网整合营销推广、网站重做改版、宁武网站定制设计、自适应品牌网站建设、html5、商城网站定制开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为宁武等各大城市提供网站开发制作服务。
准备工作: 下载PHP-ExcelReader,下载后用到\phpExcelReader\Excel目录下的oleread.inc和reader.php两个文件,并将reader.php文件打开后require_once 'Spreadsheet/Excel/Reader/OLERead.php';屏蔽掉,增加为require_once 'oleread.inc'; 然后直接将这两个文件复制到服务器下WAMP,直接复制到WWW目录下,再将所需要的excel文件考进来我的文件是classify.xls,然后需要一个调用reader.php的文件,源代码如下:
ExcelToMysql.php
?php
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data-setOutputEncoding('gbk');
$data-read('classify.xls'); //”classify.xls”是指要导入到mysql中的excel文件
@ $db = mysql_connect("localhost", "root", "") or
die("Could not connect to database.");//连接数据库
mysql_query("set names 'gbk'");//输出中文
mysql_select_db('japlearn'); //选择数据库
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i = $data-sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
//以下代码是将excel表数据【6个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
$sql = "INSERT INTO classify VALUES('".
$data-sheets[0]['cells'][$i][1]."','".
$data-sheets[0]['cells'][$i][2]."','".
$data-sheets[0]['cells'][$i][3]."','".
$data-sheets[0]['cells'][$i][4]."','".$data-sheets[0]['cells'][$i][5]."','".$data-sheets[0]['cells'][$i][6]."')";
echo $sql.'br /';
$res = mysql_query($sql);
}
?
把上面代码注释的地方替换成自己配置好的数据,如数据库配置等。运行本机测试地址实现导入。
把excel
改为
cvs文件
?
//连接数据库文件
$connect=mysql_connect("localhost","admin","admin")
or
die("链接数据库失败!");
//连接数据库(test)
mysql_select_db("testcg",$connect)
or
die
(mysql_error());
$temp=file("test.csv");//连接EXCEL文件,格式为了.csv
for
($i=0;$i
count($temp);$i++)
{
$string=explode(",",$temp[$i]);//通过循环得到EXCEL文件中每行记录的值
//将EXCEL文件中每行记录的值插入到数据库中
$q="insert
into
ceshi
(name,num,dom)
values('$string[0]','$string[1]','$string[2]');";
mysql_query($q)
or
die
(mysql_error());
if
(!mysql_error());
{
echo
"
成功导入数据!";
}
echo
$string[4]."\n";
unset($string);
}
?