二十行语句实现从Excel到mysql的转化
(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )
自从对php和mysql有了一定的了解之后,我就对公司里庞大的Excel数据库虎视眈眈,想偷偷地"共享"这被保密的商业数据,一边琢磨着怎么搞到手,一边考虑如何转化成mysql数据库,去了很多php站点论坛请教高手,都没有一个结果,某天突发想象,为何不试试这种方法呢?结果也真行,一切Ok,下面我就把我的心得与大家完全共享(可能你有更好的方法)
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."个记录";
?>
注意:a.txt,b.txt,c.txt,d.txt和txt2mysql.php要在同一个目录
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."个记录";
?>
注意:a.txt,b.txt,c.txt,d.txt和txt2mysql.php要在同一个目录
下一篇:一个颜色轮换的简单例子