您当前的位置:首页 > 网站建设笔记 >

xlsx文件导入mysql数据库实践总结

0

最近接到了一个网站开发项目,为客户的企业官网开发《HS 海关编码查询》功能,客户专业从事进口报关代理、进口清关公司、进口报关、进口报关流程,开发这个功能的意图是提供给内外部客户及网站访客使用,主要定位是公司网站上的一个外贸工具,提供给有业务意向或者贸易需求的访客查询了解相关的税率。

回归正题,HS海关编码查询的数据源是一个xlsx文件,里面有成千上万条数据,开发该功能的第一个难题就是如何把xlsx格式的表格内容导入到网站后台数据库,而客户的企业网站使用的是MySQL数据库,那么目前有没有什么软件可以将xlsx文件导入到mysql数据库的某个数据表?国际惯例百度一下!通过搜索了解到这款《Navicat for MySQL》软件可以实现,以下记录导入过程中的最关键三步。

第一步:首先要安装Navicat for MySQL软件

本人电脑安装的版本是10.0.11-enterprise,目前最新版本是Navicat 16 for MySQL,可在Navicat官网上下载安装,是一个需要付费的软件,但提供14天免费的全功能试用,是一个很优秀的数据库管理软件。

Navicat-for-MySQL软件

第二步:将excel表格另存为csv文件

将excel表格另存为csv文件
将excel表格另存为csv文件

这里第二步的操作是将《8位海关编码表》的内容另存为csv格式的文件,原xlsx数据和另存为csv文件后的数据对比如下图所示,大家可以看到第一栏(HS编码)的某些数据发生了改变:前导0被自动删除了。

原xlsx数据和另存为csv文件后的数据对比
原xlsx数据和另存为csv文件后的数据对比

为何将excel格式数据保存为csv格式时,开头为0的数据都把0删掉了呢?我试过了很多种方法,比如:在原excel格式数据设置单元格格式为文本或特殊后,再另存为csv格式后,开头为0的数据都会丢失,网上搜索该问题的答案有网友回复说:“.csv格式的文件是一种纯文本格式,因此,某个单元格中的数字,哪怕设置成了文本属性或者特殊属性,另存为.csv格式文件后,这些特性会被丢失的”。无奈之下先不管这个问题,我想到的唯一解决办法就是:先将这些数据导入到数据库,导入成功后再把这些丢失前导0的数据补上0,操作起来也不麻烦!在我将csv文件导入到数据库后查看内容,有趣的事情发生了,居然导入到数据库的内容没有丢失前导0!但通过打开csv文件查看数据前导0确实是被删除了,其实前导0是被隐藏,而不是被删除!我使用Notepad++和Sublime Text两款专业代码编辑器打开csv文件后发现前导0没有丢失,由此可以证明:将excel格式数据保存为csv格式时,如果单元格的数据开头第一个字符为0,那么这个0会被自动隐藏而不是被删除。

第三步:使用Notepad++工具将csv文件的编码转为utf-8编码

使用Notepad++将csv文件的编码转为utf-8

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部