博客
掌控自己的数据:导出您收集过的每一条表单提交
· 1 分钟阅读
把表单提交交给第三方服务,意味着要信任对方保管一份您有朝一日可能需要完整取回的数据--不是截图,不是残缺的 CSV,而是全部,包括十八个月前有人在求职申请中上传的那个文件。这种迟疑是合理的。一个只允许您通过其自身界面读取自己数据的表单后端,是您在租用,而不是在使用的后端。
Formhook 的答案是一键式全账户导出:每个表单、每条提交、每个上传的文件,全部打包进一个您下载并保留的 ZIP 归档。下面是其中的确切内容,以及这个格式为何是刻意选择的。
归档里到底有什么
在账户页面触发导出,会流式下载一个名为 formhook-export-YYYY-MM-DD.zip 的 ZIP 文件。里面包含两样东西:
- 一份
export.json清单--一份结构化文档,包含您的账户详情、您拥有的每个表单,以及这些表单下的每一条提交,每条提交都携带完整的字段数据,以及到达时间、所属表单等元数据。 - 原始上传文件--每一个曾通过您的表单发送的附件,各自存放在自己的路径下,并由清单中对应的提交条目引用,与上传时的字节完全一致。
没有任何内容被汇总、抽样或遗漏。导出在归档构建过程中即以流式方式传输,因此无论您有一百条提交还是十万条,扩展方式都一样--您不必等待一个可能超时的报表任务。
为什么是 JSON,而不是表格
很容易想当然地认为"真正的"导出就是能在电子表格里打开的 CSV,不少表单工具确实默认如此。但对表单数据而言,这恰恰是错误的默认选择。有两点会让扁平化的 CSV 出问题:
- 不同表单的字段各不相同。 您的联系表单可能收集姓名、邮箱和留言;求职申请表单则收集一个简历上传项和三个自定义问题。把两者都硬塞进同一张扁平表格,要么得到一堆空列的稀疏混乱,要么丢失不符合最初所选架构的字段。
- 提交内容可能带有文件附件。 CSV 单元格至多只能存一个文件名--存不下文件本身。您还需要在表格行和一个文件夹之间手动维护一份单独的映射关系,而这种映射恰恰最容易失去同步。
JSON 没有这样的天花板。每条提交保留自己的结构,嵌套结构依然保持嵌套,每条提交上的 files 数组直接指向同一归档内附件的路径。不需要任何压平或猜测,就能完整保真地保留一切。
如果您确实需要一张表格
这并不意味着,当某个具体任务确实需要电子表格时您会束手无策--比如在 Excel 中筛选上一季度的潜在客户。export.json 是普通的、有文档说明的结构化 JSON,不是需要靠 Formhook 界面才能解读的专有数据块。一段简短的脚本,或任何现成的 JSON 转 CSV 工具,都能在几行之内把提交数组转换成表格,并按您实际想要的字段挑选列。导出的意义不在于永远回避 CSV--而在于让底层数据保持一种事先没有丢弃任何东西的格式,由您自己决定拿它做什么,而不是由 Formhook 提前替您决定。
如何触发导出
导出功能位于控制台的账户页面:一个按钮,一次经过身份验证的请求,一次 ZIP 下载。无需提交支持工单,也无需等别人代您运行查询--这是每个账户、每个层级都能使用的同一个操作。
数据可携带性不是可有可无的功能
如果您收集的表单提交来自欧盟境内的用户,这也不仅仅是一项便利功能--GDPR 的数据可携带权意味着提交您表单的人有权要求以结构化、常用、机器可读的格式获取自己的数据,而您必须能够提供。export.json 正是这样的格式,无论是用于您自己的账户,还是作为回应可携带性请求时的底层数据来源。关于导出之外合规还要求什么,更完整的介绍见我们的 GDPR 合规联系表单指南。
表单后端不应该成为您的数据被困住的地方。更多内容见文档,或在定价页面比较各层级包含的内容--导出功能在每个套餐都可用,包括免费版。
一行代码上线可用的表单
欧盟托管,提交记录永久保存,所有套餐均支持推送通知。
免费开始无需信用卡 · 阅读文档