Navicat 16 Excel导入不支持“跳过标题行但保留列名映射”,必须勾选“使用第一行作为字段名”才能启用列名识别与自动匹配;该选项启用后,“数据起始行”才可设为2以从第二行读数据;取消勾选则第一行被视为普通数据,需手动映射字段。

不能“跳过”标题行,只能“当作字段名识别”或“全当数据处理”——Navicat 16 的 Excel 导入不支持“跳过第一行但保留列名映射”这种混合逻辑。
勾选“使用第一行作为字段名”才是正确起点
这是唯一能触发列名识别的开关。一旦勾选,Navicat 才会把第 1 行内容解析为字段名,并自动匹配目标表字段(如 Excel 第一列是 user_id,目标表有同名列,就会默认绑定)。
这个选项不等于“跳过”,而是“启用名称驱动的映射”。它背后依赖 OLE DB/ACE 驱动按网格坐标读取,没有 header=1 这类偏移参数。
“数据起始行”只在启用字段名识别后才生效
勾选 使用第一行作为字段名 后,“数据起始行”输入框才可编辑。设为 2 表示:第 1 行当字段名,第 2 行起读数据。
常见错误:
• 取消勾选该复选框后,把“数据起始行”设成 2 或 -1 —— 输入框变灰,设置被忽略
• 误以为设成 2 就能“跳过标题”,实际前提是必须先启用字段名识别
• Excel 表头行含合并单元格、空格或公式时,驱动可能报 Cannot determine column count,需提前清理
想让第一行进数据?关掉字段名识别,手动映射
如果 Excel 第一行是 id,name,phone,但你确实想把它当普通数据插入(比如测试用例),必须:
• 取消勾选 使用第一行作为字段名
• 第 2 步「字段映射」中,目标字段显示为 Field 1、Field 2…,需手动拖拽或下拉,与数据库字段一一对应
• 注意:此时第一行会被当作真实记录插入,不会被“跳过”——所谓跳过,只是语义错觉
容易被忽略的关键点
Navicat 不校验字段名是否真实存在。哪怕你 Excel 写了 user_name,而目标表字段是 username,它不会报错,只是映射下拉框里找不到对应项,那一列会被静默跳过或插进错误字段。真正生效的,永远是你在「字段映射」页里手动确认的绑定关系,不是 Excel 表头文字本身。


















