今天在做项目时,需要将excel的数据导入的mysql表中。本来想自己写一个将读取Excel数据并输出成sql语句的工具类,在查阅资料时发现Navicat将然就可以实现,所以就偷个懒使用这个便捷的工具。当然在导入过程中遇到了一些问题,特此在这做个记录。
本次实例为民族代码数据。详细步骤如下:
(1)首先在数据库中建立相应的表。注意:我设置id是自增的。
(2)在excel文件的第一行增加和表字段一样的字段
(3)将excel文件转成 .csv文件
为什么不直接用.xlsx后缀呢? Navicat明明可以导入.xlsx 但在我是导入.xlsx文件时,出现如下问题。具体原因还没有去查,也有可能是软件问题,所以可以亲自试试。
excel转.csv文件步骤(软件office)
a. 打开excel文件--->另存为--->选择CSV(逗号隔开)(*.csv)格式--->工具--->web选项---->编码->选择utf-8格式
注意导入excel编码格式必须和数据库格式表格式一致,我数据库使用格式为utf-8。否则导入的数据会乱码。
但是用office设置的编码格式后,导入数据还是会乱码,可能是这边设置不起作用吧(如果你知道原因,请在评论中指导一下吧)。 所以就得用其他工具来改变编码格式了。
我用的是notepad++。具体操作如下:
导航栏中选择编码--->选择转为utf-8编码-->保存。
(4)msyql导入数据
a、
b、
c、直接下一步下一步到此。.csv第一行的字段会自动填入到源码栏中
d、直接下一步到完,即完成导入