DBeaver 24.3.0+ 版本原生支持直接导出 XLSX,无需插件;低版本需 CSV 中转或手动安装 Office 插件;导出仅限 SQL 结果集右键操作,注意格式选择、编码及大数据量下的临时文件管理。

直接导出 XLSX 文件在 DBeaver 24.3.0+ 版本中是开箱即用的功能,无需插件;低于该版本则必须通过 CSV 中转或手动安装 Office 支持插件,否则点“Excel”选项会失败或生成损坏文件。
确认你的 DBeaver 是否支持原生 XLSX 导出
打开 帮助 → 关于 DBeaver,查看版本号:
- ≥
24.3.0(含25.0.2):导出菜单里会出现Excel (.xlsx),可直出,无需额外操作 - 24.3.0:菜单中没有该选项,强行选
Excel (.xls)会导致导出失败或文件打不开
注意:社区版(如 25.0.2)某些发行包可能默认不带 Office 插件,即使版本达标,也要检查导出格式列表是否真有 Excel (.xlsx) —— 没有时走“安装新软件”装 Office Support 特性(对应插件 ID:org.jkiss.dbeaver.ext.office.feature),再重启。
右键结果集导出 XLSX 的完整路径
导出入口只在 SQL 执行后的结果网格上有效,其他地方(如表结构页、ER 图)点不出这个流程:
- 先在 SQL 编辑器执行查询,确保结果集已加载完成
- 在结果表格任意位置右键 → 选
导出数据(不是“导出结果集”,也不是“复制”) - 格式选
Excel (.xlsx),不要误选Excel (.xls)或CSV - 保存路径建议选明确目录(如
~/exports/),避免导出后找不到文件 - 参数页保持默认即可,除非你有特殊需求(比如要冻结首行、加行号、改日期格式)
点击 完成 后等待进度条消失——此时文件才真正写完,不要提前关闭窗口或删临时文件。
导出后 Excel 打开数字/日期乱码的常见原因
不是 DBeaver 导出错了,而是 Excel 自动识别类型时“猜错”了:
-
1.16E+18这类科学计数法:说明 Excel 把长数字(如身份证、订单号)当数值处理了,双击单元格或设置列为“文本”可恢复 - 日期显示为
44567:Excel 用的是序列号,右键单元格 → 设置单元格格式 → 选“日期”就能还原成2022-01-01样式 - 中文显示方块或问号:只发生在低版本手动导出 CSV 且编码选错时(如选了纯
UTF-8而非UTF-8 with BOM);XLSX 直出无此问题
真正保留类型的关键,在于 DBeaver 用 Apache POI 的 SXSSFWorkbook 流式写入,数值列写的是 CELL_TYPE_NUMERIC,日期列写的是 CELL_TYPE_DATE,Excel 原生能认。
大数据量(50 万+ 行)导出要注意什么
内存不会爆,但磁盘和时间成本得心里有数:
- 底层用流式写入,内存常驻约 100 行缓冲,所以 100 万行和 10 万行内存占用差别不大
- 但会生成临时文件(路径在系统临时目录,如
/tmp/或C:\Users\XXX\AppData\Local\Temp\),导出期间不能清空该目录 - 单工作表上限是
1,048,575行,超了会自动拆到新 sheet,文件名不变,只是多一个 tab - 如果导出卡在“正在写入…”超过 5 分钟,优先查磁盘 I/O 是否被占满,而不是怀疑 DBeaver 卡死
真正容易被忽略的是:导出过程中关闭 DBeaver 或断网,可能导致临时文件残留、下次启动变慢;建议导出完成后再做其他操作。


















