SmartTable V1.2.0 来了:「飞书多维表格」平替,前后端全栈开源!

0 阅读8分钟

SmartTable V1.2.0来了:「飞书多维表格」平替,前后端全栈开源!

做表格工具的人大概都有过这种经历——字段类型不够用,想加个"长文本"结果只能复用单行文本字段凑合;从Excel导入数据时,列的类型识别总出错,得手动改半天;自动编号想要带日期前缀,发现系统只支持纯数字递增。

这些问题在 SmartTable 1.2 里都处理了。

字段类型拆了,终于不用再凑合

之前的"文本"字段其实承担了三种完全不同的用途:短标题、长描述、带格式的文档。这次把这三个场景拆成了独立的字段类型。

单行文本还是老样子,用来存标题、姓名、SKU 这类简短信息。长文本字段支持多行输入,最大可以写到10000个字符,放产品详情、会议纪要这类内容合适。富文本字段则内置了一个编辑器,加粗、列表、代码块这些格式都能直接在里面操作。

另外还补上了两个一直缺的字段。一个是日期时间,之前只有日期选择器,现在能精确到秒,排期、会议安排这类需要精确时间的场景终于不用再额外备注了。另一个是自动编号,这个功能之前在需求列表里挂了很久,现在总算上线了——支持前缀、后缀、日期前缀、补零位数,基本上你能想到的编号规则都能配出来。比如 TASK-202604260001 这种格式,配置一下就能实现。

成员选择组件也做了升级,搜索更快了,而且可以选择"当前用户"作为默认值,新建记录的时候不用每次都手动选自己。

从Excel导入数据表,三步搞定

之前导入Excel数据到已有的表里,流程还算顺畅。但如果想从一个Excel文件直接创建一个新的数据表,就得先手动建表、再手动建字段、再导入数据,步骤比较碎。

现在多了一个"从Excel导入创建"的选项。上传文件之后,系统会自动分析每一列的数据特征,推荐合适的字段类型。数字列会自动判断是整数还是小数;日期列能认出各种格式;如果一列里的值是用逗号分隔的多选项,也会自动提取成多选字段的选项值。

整个流程分三步:上传文件 → 调整字段配置(这时候可以改字段名、改类型、设主字段)→ 创建完成。中间有进度条,能看到当前处理到哪一步了。

实际试了一下,一个有20多列、几千行数据的Excel文件,从上传到能用大概半分钟。

API文档终于有了

做后端开发的应该都有过这种经历:接口文档要么散落在各个代码注释里,要么靠Postman collection在团队里传来传去。这次接入了Flasgger,启动后端服务后访问 /apidocs 就能看到完整的交互式文档。

90多个API端点都在里面,填上JWT Token就能直接测试。对于二次开发或者对接其他系统的人来说,省了不少翻代码找接口的时间。

几个不太显眼但很实用的改动

实时协作功能之前就存在,但这次把连接稳定性调了一下。重连策略改成指数退避,断线后不会疯狂重试把服务器打满;心跳机制也加上了,长时间不操作不会莫名其妙掉线。协作状态的显示也从Base页面移到了全局顶栏,不管你在哪个页面都能看到谁在线。

邮件系统之前也是有的,但现在模板编辑器做得更完善了,5种内置模板(注册验证、密码重置、邀请、分享通知)都可以自定义HTML内容和变量插值。异步队列也加了,发送失败会自动重试,不会再因为临时网络抖动导致邮件丢失。

安全方面修了一个密码重置的验证绕过问题,同时加了速率限制、文件上传多层校验这些防护。这些改动用户感知不到,但该做的还是得做。

写在最后

1.2 这个版本没有做什么大的架构重构,主要是把一些之前欠的功能债还了,把一些细节体验打磨了一下。如果你之前用过SmartTable,升级之后应该能感觉到几个明显的不同:

  • 字段选择更多了,不用再为选不到合适的类型而妥协
  • 数据迁移更顺了,Excel导入不再是让人头疼的事
  • 协作和通知这两块的基础设施更稳了,真正用在生产环境里会更放心

完整的功能清单和详细的变更记录可以看 RELEASE_NOTES.md,里面按类别列得很清楚。

如果有问题或者建议,照常提 issue 就行。

屏幕截图_27-4-2026_03853_localhost.jpeg


二、SmartTable 产品介绍

是什么

SmartTable 是一个开源的多维表格管理系统,功能对标 Airtable 和飞书多维表格。你可以用它来搭建各种结构化的数据管理工具——项目追踪、客户管理、库存盘点、内容日历、需求池,诸如此类。

和 Excel 不一样的地方在于,SmartTable 的每一列都有明确的字段类型。文本就是文本,日期就是日期,单选就是单选,关联就是关联。类型约束让数据更干净,也让筛选、排序、分组、公式这些操作变得可靠。

核心功能

22 种字段类型

文本、数字、日期、单选、多选、复选框、成员、电话、邮箱、链接、附件、公式、关联、查找引用、创建人、创建时间、更新人、更新时间、自动编号、评分、进度、URL。

6 种视图

  • 表格视图:传统行列展示,支持虚拟滚动和列冻结
  • 看板视图:按分组字段展示卡片,支持拖拽排序
  • 日历视图:按日期展示,月/周/日三种粒度
  • 甘特视图:时间轴展示项目进度
  • 画廊视图:以图片为主的卡片展示
  • 表单视图:生成可分享的数据收集表单

43 个公式函数

数学类(SUM、AVG、ROUND 等 11 个)、文本类(CONCAT、LEFT、FIND 等 10 个)、日期类(TODAY、DATEDIF、DATEADD 等 10 个)、逻辑类(IF、AND、OR 等 7 个)、统计类(COUNTIF、SUMIF 等 5 个)。

数据操作

多条件组合筛选(AND/OR)、多字段排序、多级分组(支持折叠/展开和分组统计)、全局搜索、字段显隐控制、列冻结、批量操作。

导入导出

Excel(.xlsx/.xls)、CSV、JSON 三种格式,导入导出均支持。

仪表盘

ECharts 图表 + 拖拽布局 + 分享功能,上文已介绍。

实时协作

WebSocket 多人编辑 + 单元格锁定 + 冲突检测,上文已介绍。

技术栈

前端:Vue 3 / TypeScript / Pinia / Element Plus / VXE Table / ECharts / Vite

后端:Flask / SQLAlchemy / Flask-JWT-Extended / Flask-SocketIO / bcrypt / Gunicorn

数据库:PostgreSQL(生产推荐)或 SQLite(轻量部署),Redis(协作功能,可选)

部署:Docker / Nginx / Supervisor

适合谁用

  • 小团队需要一个灵活的数据管理工具,不想为每个业务场景单独买 SaaS
  • 创业公司需要快速搭建内部管理系统,又不想从零开发
  • 开发者想基于多维表格做二次开发或集成到自己的产品里
  • 任何需要结构化数据管理但觉得 Excel 不够用的个人或团队

和同类产品的区别

  • 完全开源,MIT 协议,可以自己部署,数据在自己手里
  • 不按行数或用户数收费,没有使用限制
  • 前后端分离架构,API 完整,方便集成和扩展
  • Docker 一键部署,运维成本低

三、代码仓库

仓库地址

平台地址
GitHubgithub.com/ldbinac/sma…
Giteegitee.com/binac/smart…

两个仓库内容同步,国内用户访问 Gitee 速度更快。

为什么值得关注

  • 功能完整度高:22 种字段、6 种视图、公式引擎、仪表盘、协作、邮件
  • 代码质量有保障:TypeScript 全覆盖、统一异常处理、安全加固、单元测试
  • 部署简单:Docker Compose 一条命令启动,不需要复杂的运维知识
  • 持续迭代:v1.0 到 v1.1 间隔不到一个周,活跃维护中

如何参与

反馈问题

在 GitHub Issues 提交 Bug 报告或功能建议,尽量附上复现步骤和环境信息。

提交代码

  1. Fork 仓库
  2. 创建功能分支(git checkout -b feature/your-feature
  3. 提交代码(git commit -m 'Add some feature'
  4. 推送分支(git push origin feature/your-feature
  5. 发起 Pull Request

获取帮助

如果觉得项目有用,给个 Star 是最直接的支持方式。