别再手动搬数据了:Budibase 数据导出 3 步拿全表
【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase
每周五做汇报,你都得从表格视图里复制几千行数据粘进 Excel——Budibase 数据导出就是为这个场景准备的:在表格视图里选格式、点一下,CSV 或 JSON 文件直接落到本地。
先跑起来:最小路径体验
- 打开应用里的任意表格视图,确认数据已经加载出来。
- 点工具栏右侧的 Export 按钮,弹出格式选择面板。
- 选 CSV(或 JSON、JSON with Schema),点 Export。
- 浏览器直接下载
export.csv,打开核对行数即可。
拆开看:它到底做了什么
你可能会好奇:点了按钮之后,后端到底导的是哪部分数据?分三点看。
- 范围判定:有勾选行就只导出勾选的行;没勾选但有筛选或排序,就按当前视图的筛选条件导出;都没有,才导全表。
- 格式覆盖:三种——
csv(带引号转义、支持分隔符和自定义表头)、json(缩进排版)、jsonWithSchema(数据外加表结构,方便反向导入)。 - 权限边界:导出走的是你当前的数据权限,表里你看不到的行,导出文件里也不会有,不会绕过任何限制。
换个姿势用:进阶组合
筛选 + 导出联动:先在表格视图加筛选(比如只看某个状态的数据),再点 Export——当前筛选会原样传给后端,导出的就是筛完的子集。⚡ 想只导某几列,直接对行调用导出接口时传columns参数即可,源码在 packages/server/src/api/controllers/row/。
导出后接自动化:导出本质是一个 API 调用,传format、行 ID、排序等参数就能拿到文件内容,所以它可以挂进定时自动化或外部脚本,定期备份到对象存储。实现参考 packages/server/src/automations/,格式常量定义在RowExportFormat枚举里。
踩过的坑
现象:导出的 CSV 在 Excel 里,单元格是一长串花括号。原因:Budibase 的关联、JSON 类字段是对象,CSV 只能存文本,导出时会把它序列化成 JSON 字符串再写进去。解法:这类字段换json或jsonWithSchema格式导出,结构完整保留。
现象:勾选了几行准备导出,文件里的行数却对不上。原因:你同时挂着视图筛选,勾选行和筛选条件是叠加生效的,交集才是最终结果。解法:先确认筛选状态,想导全量就先清掉筛选、不勾选行。
现象:把导出的文件导回另一张表,列结构丢了。原因:普通json只含数据行,不含字段定义。解法:用jsonWithSchema,它会把表结构一并打包。
下一步,翻一翻 packages/builder/src/components/backend/DataTable/buttons/,看看 Export 按钮是怎么把筛选、勾选拼进请求的。
【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考