最近小编开发完成一个Web项目后,通过Excel导入数据到Navicat数据表时,Excel列为yyyy-mm-dd格式的数据总是导入报错提示日期字段格式异常“0000-00-00”。在此,分享解决方法和导入前预处理事项。

Navicat作为一款功能强大的数据库管理工具,支持从Excel文件导入数据到数据库。本教程将详细指导您如何正确处理.xlsx格式Excel文件中的日期和数值%字段,确保数据在导入过程中保持准确性和完整性。‌


Excel数据格式预处理

1. 日期字段处理

在Excel中,日期应以标准格式存储:

  • 方法1:使用Excel内置日期格式
    • 选中日期列
    • 右键选择"设置单元格格式"
    • 选择"日期"分类,选择合适的格式
  • 方法2:使用公式转换(如需特殊格式)
    • 示例:=TEXT(A2,"yyyy-mm-dd")将日期转换为文本格式
    • 这里我使用了方法2,进行格式转换,为了保险起见,格式转换后复制粘贴了。

2. 数值%字段处理

Excel数据中列格式是%样式的数据,但是导入MySQL数据varchar字段后就成了小数了。比如0.5%变成了0.005

百分比字段在Excel中应这样处理:

方法:蒋Excel数据转换为文本格式

在旁边单元格中输入=TEXT(A1,"0.00%"),将数据转换为两位小数的百分数文本格式。


Navicat导入操作


1. 启动导入向导

在Navicat中连接目标数据库

右键点击目标表,选择"导入向导"

选择"Microsoft Excel"作为数据源

点击"..."按钮选择.xlsx文件

    2. 文件设置

    1. 选择正确的Excel工作表
    2. 设置起始行(通常为2,跳过标题行)
    3. 勾选"首行包含列名"(如果Excel有标题行)

    3. 字段映射设置

    1. 日期字段处理:

      • 在字段映射界面,选择日期列
      • 点击"格式"按钮
      • 选择"日期"作为字段类型
      • 设置日期格式(如yyyy-mm-dd)
      • 示例配置:
        text
        字段名:order_date
        类型:DATE
        格式:yyyy-mm-dd
    2. 数值%字段处理:

      • 选择百分比列
      • 点击"格式"按钮
      • 选择"DECIMAL"作为字段类型
      • 设置精度和小数位数(如DECIMAL(5,2))
      • 如果存储为小数形式,确保小数位数设置正确


    小编遇到的YYYY-MM-DD日期格式导入报错这个问题,是在下图这个步骤中,将日期分隔符,由默认的/变更为-后,成功处理好的。


    点赞(0) 打赏

    评论列表 共有 0 条评论

    暂无评论

    微信小程序

    微信扫一扫体验

    立即
    投稿

    微信公众账号

    微信扫一扫加关注

    发表
    评论
    返回
    顶部