客户需要把一些资料导入到目前的数据库中,目前的数据库是Mysql类型的。在网上搜索了一下,有把CSV格式导入到Mysql的PHP程序,本想用该程序,可是在把Excel另存为CSV数据时出了问题,一些字符变成了乱码。所以不得已只能寻找把Excel直接导入Mysql的PHP程序。
google PHP Excel Mysql下来发现只有一些简单的PHP代码,示例如何把Excel数据读取并存储到Mysql中。这样一来我就得调试PHP的程序,并且还担心Excel格式的问题,因为我的Excel是 Excel 2007的格式。
google过程中发现了一个 PHP Excel 2007 classes , 下载下来后,仔细看了一下发现test代码里面主要是演示PHP把数据存入Excel 2007,即生成Excel 2007的文件。这说明可以通过这个Class把Mysql数据库中数据如导出到Excel 2007文件中,估计应该有Excel 2007导入Mysql的功能,可是因为急着解决问题,所以没有仔细去研究示例代码和开发文档。
终于找到了一款程序 Excel to MySql 4.3, 我是从这个地址下载到的:http://www.greendown.cn/soft/15317.html 。 哇,还是一个绿色程序,不错。赶快试用:
1. 启动程序,直接双击 xls2sql.exe 即可:

2.来到第一个设置页面,选择Source: Ms Excel Spread Sheet , Destination: My Sql Server:

3.选择本地Local的Mysql, 输入用户名和密码:

注:本人没有测试远程Mysql。
4.选择excel文件路径 和 输入 My Sql database name,如果不选择数据库名,会自动与Excel文件名相同。然后下一步:

5.错误弹出,一下子心凉了一截。觉得又是一个不可用的软件。

6.仔细查看了一下,觉得应该是因为Excel放在桌面上造成路径名太长造成的。然后移动文件到D盘,重新选择,执行:

7.这次成功了,来到Excel文件中那一张表需要导入的画面:

8.接下来出现了数据表处理进度的画面:

注:因为我的数据不多,因此画面一闪而过。
9.提示成功的画面,到这一步还是忐忑不安,不知道到底有没有生成所需要的数据库文件:

10.进入phpMyadmin查看,果然生成了数据库,进入数据库中查看,相应的数据表也存在,查看数据也正确。至此,一个忐忑的心终于放下了。


发现的问题:
在phpMyadmin中查看数据库时,我记得我明明只选择了一张数据表,可是生成的数据库中却有3张表,我再次测试,确认的确是这样的。但我没有测试,如果3张表都有数据,第7步选择了一张表,会不会数据不会导入的情况。
PS: 本人没有测试Excel2000等其它格式,2007都支持,想必其它的也行吧。
在此,感谢该软件的开发者和相关人员。
