如题,有一EXCEL数据表,现要将此表通过PHP来导入MYSQL数据库,要怎么做到啊?我按照网络上的方法试了一下,但导入数据库的都是乱码,“成功导入数据! 成功导入数据! 成功导入数据! 成功导入数据!##07"?"# 成功导入数据! 成功导入数据! 成功导入数据!#}-}' .00\)_ *}A}) a.00\)_ *骑?-# 成功导入数据! 成功导入数据! 成功导入数据! 成功导入数据! 成功导入数据!#}A} .00\)_ *23-# 成功导入数据! You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1” 以上就是导入后网页上显示的,数据库里也是乱码,这个要怎么写啊?
我用的代码是:
<?
//连接数据库文件
$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);
}
?>
我用的代码是:
<?
//连接数据库文件
$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);
}
?>
都是用来处理excel的,前2个功能都比较强大,对编码的支持也都不错,推荐使用pear的那个,名字好像叫spreadsheet readerphpexcel比较费资源,不过并不是所有的excel都能读取楼主可以到这里去看看 pear.php.net
你首先打开excel 文件,然后保存,选择为另存为.csv文件。
然后用文本编辑器打开.csv文件,另存为utf-8的csv
然后你写php 可以使用php 的getcsv 打开(这样确保你有的字段中含有,而导致解析错误),然后把解析的结果导入到数据库中。
然后完了。
更详细的请到http://mxp556.blog.hexun.com/23315689_d.html浏览
insert into 表名(表字段A,表字段B) values (A1,B1);
然后往下拖,将所有行的SQL语句生成出来,再将生成的SQL语句复制到MYSQL中执行,就可以了!不知道你那里是否可用……
更详细的请到http://mxp556.blog.hexun.com/23315689_d.html浏览为什么要导入txt中,没有这个必要吧!
导入导出都可以实现
2、
导出 使用pear的Spreadsheet_Excel_Writer类 http://pear.php.net/package/Spreadsheet_Excel_Writer
导入 使用PHP-ExcelReader, 下载地址: http://sourceforge.net/projects/phpexcelreader
一个写excel及导出 一个读excel及导入,我用的是这样的导入导出结合。需要注意的是这种方式导出的excel是95格式的,保存的时候会提示转换到97/03格式。转换格式后的中文才不会是乱码。
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
include ("connectdb.php");
function insert_data ($id,$summary,$description,$additional_information,$category)
{
$my_query1 = "insert into mantis_bug_text_table (id,description,additional_information)
values ('$id','$description','$additional_information')";
$first = mysql_query($my_query1);
$my_query2 = "insert into mantis_bug_table (id,project_id,summary,bug_text_id) values ('$id','$category','$summary','$id')";
$second = mysql_query($my_query2);
return;
}
$fp = fopen("test.csv","r");
while($data = fgetcsv($fp,'1000',',')){
insert_data ($data[0],$data[1],$data[2],$data[3],$data[4]);
echo "<font color = #FF0000 size = 20>数据导入成功!</font><br><br>";
}
fclose ($fp);
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo "程序执行时间:".$time."秒";