技术开发 频道

二十行语句实现从Excel到mysql的转化

  【IT168 技术】自从对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要在同一个目录。

0
相关文章