请教PHP导入Excel到MySQL的问题 本帖最后由 ShunYea 于 2013-02-03 16:23:05 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实在不行,能够导入CSV也行。本人用phpmyadmin导入CSV,在一个空间里面成功,换到另个空间却提示如下图:是不是空间某些控件不支持?? 我这里是正常的,我贴下我的代码你参考下(我的是web端自己上传excel文件):<?phprequire_once 'Excel/reader.php';$data = new Spreadsheet_Excel_Reader();if($_FILES){ $check = substr($_FILES["file"]["name"],strrpos($_FILES["file"]["name"],".")+1); if ( $check == "xls" || $check == "xlsx") { move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]); } else { exit('no'); }$data->setOutputEncoding('UTF-8');$data->read("upload/" . $_FILES["file"]["name"]);error_reporting(E_ALL ^ E_NOTICE);$db_host = 'localhost'; //edit_config$db_user = 'root';$db_password = 'root';$db_port = 3306;$db_name = 'test';$con = mysql_connect($db_host,$db_user,$db_password);if (!$con) { die('Could not connect: ' . mysql_error()); }$db_selected = mysql_select_db($db_name, $con);if (!$db_selected) { die ("Can\'t use test_db : " . mysql_error()); }//删除已存在表if(!($result = mysql_query("DROP TABLE IF EXISTS `uchome_test`",$con))){ echo mysql_error(); }//新建表$result = mysql_query("CREATE TABLE uchome_test ( uid mediumint(8) unsigned NOT NULL, username char(15) NOT NULL default '', shuipiao int(8) unsigned NOT NULL default 20, PRIMARY KEY (uid)) ENGINE=MyISAM",$con);if(!$result){ echo mysql_error(); }for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) { for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) { $insertdata[$j] = $data->sheets[0]['cells'][$i][$j]; } $result = mysql_query("INSERT INTO `uchome_test` (uid,username,shuipiao) VALUES ('{$insertdata[1]}','{$insertdata[2]}','{$insertdata[3]}')",$con); if(!$result){ echo mysql_error(); } echo "插入一行"; echo "\n"; echo "<br />";}mysql_close($con);}else{echo <<<EOF<html><body><form action="{$_SERVER['PHP_SELF']}" method="post"enctype="multipart/form-data"><label for="file">Excel:</label><input type="file" name="file" id="file" /> <br /><input type="submit" name="submit" value="import" /></form></body></html>EOF;}?> 求一段基础PHP+css的导航栏写法 关于php清除缓存的脚本 phpmyadmin3.3.3安装配置问题 Fatal error: Class 'mysqli' not found。汗,我是php5.1啊,怎么会没有mysqli? php static php源代码如何解密 关于PHP配置的问题。 大家帮我看看这个递归遍历目录 首页index.php转换成index.html的问题 (与以前类似的话题不太一样。) 急切的,字符串处理,。。。高分,在线等,,sos,, if的问题 windows下apache经常卡死
<?phprequire_once 'Excel/reader.php';$data = new Spreadsheet_Excel_Reader();if($_FILES){ $check = substr($_FILES["file"]["name"],strrpos($_FILES["file"]["name"],".")+1); if ( $check == "xls" || $check == "xlsx")
{
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);
}
else
{
exit('no');
}$data->setOutputEncoding('UTF-8');$data->read("upload/" . $_FILES["file"]["name"]);error_reporting(E_ALL ^ E_NOTICE);$db_host = 'localhost'; //edit_config
$db_user = 'root';
$db_password = 'root';
$db_port = 3306;
$db_name = 'test';$con = mysql_connect($db_host,$db_user,$db_password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}$db_selected = mysql_select_db($db_name, $con);if (!$db_selected)
{
die ("Can\'t use test_db : " . mysql_error());
}//删除已存在表if(!($result = mysql_query("DROP TABLE IF EXISTS `uchome_test`",$con))){ echo mysql_error(); }//新建表
$result = mysql_query("CREATE TABLE uchome_test (
uid mediumint(8) unsigned NOT NULL,
username char(15) NOT NULL default '',
shuipiao int(8) unsigned NOT NULL default 20,
PRIMARY KEY (uid)
) ENGINE=MyISAM",$con);if(!$result){ echo mysql_error(); }
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
$insertdata[$j] = $data->sheets[0]['cells'][$i][$j];
}
$result = mysql_query("INSERT INTO `uchome_test` (uid,username,shuipiao) VALUES ('{$insertdata[1]}','{$insertdata[2]}','{$insertdata[3]}')",$con);
if(!$result){ echo mysql_error(); }
echo "插入一行";
echo "\n";
echo "<br />";}mysql_close($con);}else{echo <<<EOF<html>
<body>
<form action="{$_SERVER['PHP_SELF']}" method="post"
enctype="multipart/form-data">
<label for="file">Excel:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="import" />
</form>
</body>
</html>EOF;}?>