简体中文
规范表单结构
在正式介绍表格结构之前,让我们思考一个简单的问题:需要哪些数据才能定位到一个单元格?
查看答案
不用多说,至少先得知道表的名称咯。
其次,每份表里可能有多个sheet(为避免命名混淆,我们就称它为页)所以还得明确哪一页。
最后,我们还得知晓单元格的位置,也就是行号和列号。
最终答案:表名、页名、行号、列号。
想要搭建一架连接在线表单与在线设计的桥梁,就必须约定一份清晰明朗的映射规则,以此保证在需要时匹配到所需信息。
为此,我们做出如下约定:
👌允许表单重名
每份表单都会生成一个唯一的id,所以我们允许多张表单重名,毕竟真正起到标识作用的是表单id。
想起一个好玩的事情,大多数人修改密码,倒不是因为别人惦记上了,而是复杂的连自己都忘了。
因此在遇到重名表单时,建议本地重新给它起个别名,避免过度自信而后续翻车。

🤚 禁止页面重名
出于性能考虑,我们不允许多个sheet重名,这样会导致无法唯一的定位数据所在页面。
如果存在重名页,系统最终会默认选取第一页参与后续填充。
多说一句,建议将sheet的命名赋予意图,相比sheet1 sheet2 sheet3, 或许 常用数据 数据可视化 项目i18n文案 是一个更好的选择
✊ 强制第一行为表头
实在无法想象,有人会在表格第一列插入一撮数据,然后把它当作表头,这样做的后果就是,自己玩的很嗨,其他的表哥表姐一脸懵逼。
虽然某插件允许你这么做,但是我们不允许,这样会完全无法利用在线表格编辑器赋予表头的特性,比如排序、函数、过滤等。
🤝 除前两行,允许空行
如上约定,第一行作为表头是万万不可为空的,否则下面数据群龙无首,无法匹配。
为啥第二行也不能为空呢?
因为呀,如果在表头没有显式标注数据类型,插件就会自动根据第二行的内容为每一列的数据类型做隐性推断。如果第二行为空,自然就无法推断每一列的数据类型。
TIP
有关数据类型显式标注与隐性推断,我们会在后续文章中详细介绍
至于后面的数据,我们允许为空,这样做也不会影响到表格的正常使用。
SheetSyncDocs