如何通过PHP实现EXCEL与MYSQL之间的导入导出

目前我的PHP为5.2.6,MYSQL为5.1求高人解答感谢2楼,2楼代码可以用,现在需要通过PHP实现把EXCEL中数据导入到数据库中,继续求高手... 目前我的PHP为5.2.6,MYSQL为5.1
求高人解答
感谢2楼,2楼代码可以用,现在需要通过PHP实现把EXCEL中数据导入到数据库中,继续求高手
展开
 我来答
凌的博客
2010-03-09 · TA获得超过235个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:166万
展开全部
1.先介绍一下这个Excel数据库的结构,且命名为E.xls,字段有4个(40个也一样搞定),字段名为a,b,c,d,接着对jm.xls做分解:
1)选中字段a中的全部记录,选择"复制"
2)新建一个Excel数据库文件,把复制过来的数据粘贴在一个空白的字段(通常是A)下,保证其他字段空白,保存为a.xls
3)另存a.xls为a.txt(格式为"文本文件(制表符分隔)")
4)E.xls中其他3个字段的数据按1到3步骤继续生成b.txt,c.txt和d.txt。
2.完成上述步骤后,你已经完成了大部分的工作,下面就由php和mysql来完成,很简单:
1)要把数据放在mysql中,必须建立一个mysql数据库文件名为dbname(与php代码中的dbname要一致),包括表tbname(与php代码中的tbname要一致),4个字段inc char(100),adds char(100),pri char(100),tel char(100),大小要根据Excel中字段大小做调整,否则可能出现部分值丢失。
2)再编写php代码,是最主要的,代码如下:
------txt2mysql.php---------
<?
$inc=file("a.txt");
$adds=file("b.txt");
$pri=file("c.txt");
$tel=file("d.txt");
$i=0;
mysql_connect();
while (strlen($inc[$i])>0)
{
$sql="insert into tbname values ('$inc[$i]','$adds[$i]','$pri[$i]','$tel[$i]')";
$do=mysql_db_query("dbname",$sql);
$i=$i+1;
echo '<br>';
}
$s="select * from tbname";
$gg=mysql_db_query("dbname",$s);
$n=mysql_num_rows($gg);
mysql_close();
echo '<br>';
echo "共添加了".$n."个记录";
?>
这种方法很简单吧!我刚试了一下挺管用的。你稍微改一下,相信能完成!
关键在于,如何把excel 中的数据读取出来,导入是很简单的事。
分别 把相应的列 另存为,相应的txt。就能得到!然后 以数组的方式读取。
王老师来休闲
2010-03-09 · TA获得超过627个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:434万
展开全部
有一个叫做PHPExcelParser的小程序,可以实现导入导出,你要是需要可以留下邮箱,或者自己到网上搜
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xudianyang
推荐于2016-06-11 · TA获得超过410个赞
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:124万
展开全部
下面是我最初研究生成Excel文件的代码,后来我用面向对象重写,你先看看这个代码吧,很简单的,想要面向对象的再联系!
<?php
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "root";
$DB_DBName = "lost_property";
$DB_TBLName = "wuping";
$savename = date("YmjHis");
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
mysql_query("Set Names 'gbk'");
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=big5");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");

$now_date = date("Y-m-j H:i:s");
$title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date";

$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database");
$result = @mysql_query($sql,$Connect) or die(mysql_error());

echo("$title\n");
$sep = "\t";
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "\t";
}
print("\n");
// $i = 0;
while($row = mysql_fetch_row($result)) {
$schema_insert = "";
for($j=0; $j< mysql_num_fields($result);$j++) {
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
else if ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
// $i++;
}
return (true);
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suejohn
2010-03-11 · TA获得超过1176个赞
知道小有建树答主
回答量:1241
采纳率:0%
帮助的人:608万
展开全部
phpmyadmin支持excel类型文件的导出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式