Navicat模型打印不支持跨平台设计文档,需用INFORMATION_SCHEMA查询+Excel/HTML导出替代:SELECT TABLE_NAME AS 表名, COLUMN_NAME AS 字段名, COLUMN_TYPE AS 数据类型, IS_NULLABLE AS 是否为空, COLUMN_KEY AS 索引, COLUMN_COMMENT AS 备注 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_db_name' ORDER BY TABLE_NAME, ORDINAL_POSITION;
Navicat 模型打印功能不支持跨平台直接生成设计文档
navicat 的「模型」→「打印」功能本质是本地渲染,导出的 pdf/html 依赖当前系统字体、dpi 设置和 qt 渲染后端,macos 导出的 pdf 在 windows 上打开可能错行、漏字,html 中中文样式丢失更常见。这不是导出失败,而是模型视图本身不具备可移植性。
真正能跨平台复用的设计文档,得靠 INFORMATION_SCHEMA 查询 + 导出结果
绕过模型视图,直接查元数据表,再导出为通用格式,才是稳定方案。关键点在于字段对齐、排序可控、备注不丢:
-
TABLE_NAME和COLUMN_NAME必须显式排序,否则不同版本 Navicat 执行同一语句,列顺序可能不一致 -
COLUMN_COMMENT在 MySQL 8.0+ 中默认 UTF-8mb4,但导出 Excel 时若未勾选「UTF-8 编码」,中文会变问号 - 导出为 PDF 时,右键结果集 →「导出」→ 选 PDF,Navicat 实际调用的是本地 PDF 打印驱动,Mac 上用 CUPS,Windows 用 GDI,输出效果差异明显;建议优先导出为 Excel 或 HTML,再用 LibreOffice 统一转 PDF
示例查询(适配 MySQL):
SELECT TABLE_NAME AS `表名`, COLUMN_NAME AS `字段名`, COLUMN_TYPE AS `数据类型`, IS_NULLABLE AS `是否为空`, COLUMN_KEY AS `索引`, COLUMN_COMMENT AS `备注` FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_db_name' ORDER BY TABLE_NAME, ORDINAL_POSITION;
导出 HTML 时中文乱码或样式错乱怎么 fix
Navicat 导出的 HTML 默认无 <meta charset="utf-8">,浏览器按 ISO-8859-1 解析,中文全崩。解决方式不是改导出设置,而是导出后手动补头:
- 用 VS Code 打开导出的
schema.html - 在
<head>内第一行插入:<meta charset="UTF-8"> - 保存后用 Chrome/Firefox 打开,样式和文字即正常
- 若需批量处理,可用 Python 脚本自动注入(但注意:Navicat 不提供导出前钩子,只能后置修复)
别依赖「导出为 Word」——它在跨平台场景下最不可靠
Navicat 的 Word 导出实际调用系统 COM 接口(Windows)或 AppleScript(macOS),生成的是 .docx 二进制包,结构嵌套深。实测发现:
立即学习“前端免费学习笔记(深入)”;
- macOS 导出的 .docx,Windows 上用 WPS 打开表格列宽归零
- 同一份导出文件,Word for Mac 和 Word for Windows 渲染的页眉页脚位置偏差超 2mm
- 导出时若勾选「包含关系图」,.docx 体积暴增且跨平台打开极慢,甚至卡死
真要 Word 格式,不如把 Excel 导出结果粘贴进空白 Word 文档,用「插入 → 表格 → Excel 电子表格」嵌入,保留原始格式且跨平台一致。
Navicat 没有“一次导出、处处可用”的设计文档功能。所谓跨平台,核心是放弃 GUI 渲染路径,用 SQL 查元数据、用标准格式(Excel/HTML)承载、用外部工具(LibreOffice、Chrome)做最终呈现——中间任何一环换成 Navicat 自带的“一键”选项,都可能在另一台机器上失效。



















