navicat导入excel 日期格式处理

在初始化数据库数据时,遇到Excel日期格式导入到MySQL的问题,导致Navicat闪退。通过将数据库字段类型改为varchar,使用TEXT函数转换Excel中的日期格式,并在导入后改回datetime类型,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化数据时,需要向数据库导入一些数据,遇到这个问题,在网上查了半天,没找到一个系统的解决办法,特此记录。

excel中原始数据是这样子的

关注三个字段:格式分别为文本、日期、日期

相应的数据库中数据类型如下:

第一次尝试:

此时直接上传,不好意思,navicat直接闪退了!

 

闪退原因网上查了下,大致是说mysql识别excel中的日期,在进行转化时出了问题等等。具体怎么回事不清楚,改就是了!

于是使用TEXT函数进行修改,错误的尝试略过:

=TEXT(G2,"yyyy/mm/dd hh:mm:ss")

复制粘贴保留文本,替换掉原数据中的两列日期(修改原数据前,建议先备份,养成好习惯)

处理完是这个样子的:

这时不要急着导入,修改数据库字段类型,改为varchar

第二次尝试:

日期没问题了!但是attachment_id全部带个".0"。。。。。。

小问题!同样使用TEXT函数,将这些被navicat看做数值的数据,强制转为文本就好了

=TEXT(D2,"0")

然后复制粘贴去除公式,再选中这一列,格式设置为“”文本“,”就会变成这样子了:

左上角的小绿点标识,就是文本标识

第三次尝试:

导入数据没问题了!

但是不要忘记最重要的一步,将数据库中的数据类型,再改回datetime!

搞定收工,留做记录。

 

 

### Navicat 导入 Excel 表格方法 Navicat 是一款功能强大的数据库管理工具,支持多种数据库操作,其中包括从 Excel 文件导入数据到数据库表中。以下是关于如何使用 NavicatExcel 数据导入数据库的具体说明: #### 1. 准备工作 在开始之前,请确保已经创建好目标数据库表结构。如果尚未建立表结构,可以按照以下 SQL 范例创建一个简单的测试表[^3]: ```sql CREATE TABLE `test_table` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(255) DEFAULT NULL COMMENT '姓名', `age` INT DEFAULT NULL COMMENT '年龄' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` #### 2. 打开 Navicat 并连接至目标数据库 启动 Navicat 后,通过已有的连接进入目标数据库。 #### 3. 使用“导入向导”功能 - **步骤一**: 右键单击目标表并选择“导入向导”。 - **步骤二**: 在弹出窗口中选择“Microsoft Excel (*.xls/*.xlsx)”选项,并点击“下一步”按钮[^2]。 - **步骤三**: 点击文件路径输入框右侧的小图标(通常显示为三个点),浏览并定位到要导入Excel 文件后点击“打开”。 #### 4. 配置导入设置 - **Sheet 选择**: 如果 Excel 文件中有多个 Sheet,则在此处指定需要导入的目标 Sheet[^2]。 - **字段映射**: 默认情况下,第一行为字段名,而实际数据从第二行开始。可以根据实际情况调整这些参数。例如,“字段名行:1”,意味着第 1 行被识别为字段名称;“第一个数据行:2”,则表明从第 2 行起的数据会被读取。 #### 5. 审核预览与执行 完成以上配置之后,继续前进直到看到最终确认页面,在此阶段可再次检查即将被执行的操作细节无误后再按下“开始”按键发起正式处理流程。当屏幕上显示出诸如 “Finish successfully” 的提示信息即代表整个过程顺利完成。 #### 6. 查验结果 最后可以通过两种方式验证数据是否正确加载到了数据库里: - 直接双击对应的表格查看其内容; - 或者先编写一条 SELECT 查询语句再运行它以观察返回的结果集。 ```sql SELECT * FROM test_table LIMIT 10; ``` --- ### 注意事项 - 若遇到编码问题导致中文乱码现象发生,请尝试修改保存 Excel 文档所使用的字符集为 UTF-8 编码格式。 - 当前描述基于 Windows 版本下的操作指南,Mac OS 用户界面布局可能略有差异但核心逻辑一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值