Excel打开CSV中长数字变科学计数法,根本原因是其自动识别数字类型;最可靠解法是DBeaver导出时改用\t分隔符并启用双引号文本限定符,确保数据被当字符串解析。

直接导出 CSV 文件没问题,但默认用逗号分隔、不加引号时,Excel 打开容易把长数字(如身份证、订单号)转成科学计数法,或把含换行/逗号的字段切错——这不是 DBeaver 导出失败,而是格式配置没对上消费端(比如 Excel)的解析逻辑。
导出 CSV 时 Excel 显示科学计数法怎么办
根本原因是 Excel 自动识别数字类型,而 CSV 本身不带类型声明。DBeaver 无法控制 Excel 行为,只能让数据“看起来像文本”。最可靠的做法是改用制表符 \t 作分隔符,并启用文本限定符(双引号):
- 在导出向导的“输出设置”页,格式选
CSV 文件,分隔符手动改成\t(不是字母 t,是 Tab 字符,DBeaver 界面里会显示为 “Tab”) - 勾选
使用文本限定符(即用双引号包裹每个字段),这样 Excel 会把整块内容当字符串读 - 编码务必选
UTF-8,避免中文乱码;文件扩展名保持.csv即可,不用改.txt
从查询结果导出 CSV 而不是整张表
很多人卡在找不到导出按钮——它不在右键菜单,而在查询结果面板底部状态栏。操作路径很固定:
- 先执行 SQL(
Ctrl+Enter或点击运行图标),确保结果集已加载 - 在结果表格下方,找到灰色小按钮(图标是向下箭头+方框),鼠标悬停显示“Export data”
- 点开后选择
CSV 文件,后续设置和表导出完全一致:路径、编码、分隔符、是否含标题行 - 注意:如果结果集太大,DBeaver 默认只加载前 200 行,需在结果面板右上角点击
Load all再导出,否则只导出可见部分
导出 CSV 后中文乱码或字段错位
常见于 Windows 系统用记事本打开,因为记事本默认用 ANSI(实际是 GBK)解码 UTF-8 文件。这不是 DBeaver 的问题,但能提前规避:
- 导出时编码必须选
UTF-8(不是UTF-8 with BOM,DBeaver 某些版本加 BOM 反而导致 Excel 解析异常) - 分隔符别用中文逗号、顿号或空格,只用英文逗号
,、分号;或制表符\t - 若字段含换行符或双引号,必须勾选
使用文本限定符,否则 CSV 结构会被破坏 - 验证方式:用 VS Code 或 Notepad++ 打开导出文件,确认编码显示为
UTF-8,且中文正常、字段对齐
真正麻烦的不是导出动作本身,而是导出后的文件被谁用、怎么用。Excel 的 CSV 解析器很老派,不认 UTF-8 BOM,也不自动处理无引号的长数字——所以宁可多点两下配 \t 和引号,也别赌 Excel 的自动猜测。










