十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Grist:电子表格与数据库二合一的开源数据工具,5 分钟跑起来

Grist:电子表格与数据库二合一的开源数据工具,5 分钟跑起来 Grist电子表格与数据库二合一的开源数据工具5 分钟跑起来【免费下载链接】grist-coreGrist is the evolution of spreadsheets.项目地址: https://gitcode.com/GitHub_Trending/gr/grist-coreGrist 是一款把电子表格和数据库融为一体的开源“关系型电子表格”数据按数据库的方式存储操作体验却像电子表格公式还能用 Python 写。整个文档就是一个 SQLite 文件任何工具都能直接读取备份就是复制一个文件。如果你一直被“Excel 没有关联约束、数据库又太难上手”这个问题困扰这个工具就是为此设计的。Grist 到底解决什么问题电子表格的老毛病列没有类型约束表一大公式就乱共享又只能整份给。数据库的老毛病门槛高普通同事不愿意去写 SQL。Grist 的做法是把两者合起来。列像数据库的列每列有明确类型、只存一种数据可以选择列表、引用、日期、货币等专门类型。但在其上你依然可以拖拽、筛选、做图表仪表盘。公式支持完整 Python 语法也内置了 200 多个 Excel 兼容函数公式引擎源码在 sandbox/grist/。原理一句话服务器为每个打开的文档启动一个沙箱 Python 进程来算公式并追踪依赖一个单元格变了相关公式自动重算。架构上 Grist 分两种角色Home Server 管登录、文档列表和共享Doc Worker 负责打开的文档及其 Python 数据引擎。细节可以读 documentation/overview.md。5 分钟完成 Grist 的 Docker 部署最快的方式是 Docker。一条命令拉镜像、挂载 /persist 目录所有文档就存在这个目录里docker run -p 8484:8484 -v $PWD/persist:/persist -it gristlabs/grist启动后打开 http://localhost:8484首次的 Quick setup 页面会引导你设管理员邮箱、选择登录方式、配置谁能用。提示输入 boot key 时去容器启动日志里找到它粘贴即可最后点 “Apply and go live” 完成。常用配置项GRIST_IN_SERVICEtrue跳过 Quick setup直接进入单用户模式适合个人使用GRIST_DEFAULT_EMAIL以固定身份登录免配认证GRIST_SANDBOX_FLAVOR公式沙箱Linux 可选 gvisormacOS 用 macSandboxExec全平台可用 pyodideREDIS_URL多 worker 部署时用 Redis 共享会话与状态选哪种部署方式看你的用途部署方式做法适合谁Docker 单容器上面那条命令个人、小团队试用Docker Compose 全家桶加 Postgres Redis MinIO长期协作、附件较大源码构建git clone https://gitcode.com/GitHub_Trending/gr/grist-core 后执行yarn install yarn build yarn start开发定制带 Postgres、Redis、MinIO 的 Compose 示例就在仓库 docker-compose-examples/grist-with-postgres-redis-minio/填好密码即可用。用一张文档搭出项目管理场景以“任务管理”为例10 分钟能体验 Grist 的三个核心能力。用引用列把两张表关联起来。建一张Projects表名称、描述再在Tasks表里加一个引用类型的Project列指向 Projects。以后不用复制粘贴项目名也不用担心打错字一对多场景可以用引用列表。内置教程文档演示的正是这种“两表一关联”的流程。用 Python 写公式列。给 Tasks 加一列“逾期天数”if $DueDate and $DueDate today(): return (today() - $DueDate).days return 0$DueDate表示同一行的列逻辑是普通 Python依赖变化时自动更新不用手动刷新。把数据变成仪表盘。把图表 widget 和卡片 widget 拖到同一页它们可以联动点图表里的“To Do”柱形旁边的卡片视图自动筛选出对应任务。汇总 widget 能按分组直接求和计数全程拖拽完成不需要另装 BI 工具。需要别人填报数据时给文档加一个表单 widget提交的表单直接写入表格支持附件和 URL 预填。按行管理权限而不是整份共享这是和 Excel 的核心区别之一Grist 的共享不是全有或全无。粗粒度在文档或工作空间层面把人设为查看者、编辑者或所有者细粒度用 Python 写访问规则精确到行、列、表。比如让每个人只看到分给自己的任务user_email() $Assignee.email or is_owner()user_email()取当前登录用户邮箱其余就是普通 Python。规则编辑界面在 app/client/aclui/对应页面上 Tools 面板里的 Access Rules。生产环境还要留意的几个开关GRIST_FORCE_LOGINtrue禁止匿名访问文档必须登录才能看ALLOWED_WEBHOOK_DOMAINSwebhook 只允许调用白名单域名GRIST_PROXY_FOR_UNTRUSTED_URLS对外请求走企业代理GRIST_EXTERNAL_ATTACHMENTS_MODEsnapshots附件存到 S3 兼容存储.grist 文件保持小巧选型参考Grist 适合你吗和另外两个常见工具做个客观对比维度GristExcel/在线表格Airtable数据模型关系表 引用列平面工作表关系表公式语言Python Excel 函数专有公式基础函数权限粒度行/列/表级规则工作表级表级自托管完全支持在线版不支持不支持适合你需要关系结构管理业务数据、想让同事免培训上手、且希望数据自己保管。 不适合你重度依赖 VBA 宏或 Office 生态做复杂加工。Grist 的导入导出支持 Excel、CSV 和 Google Drive互相迁移成本不高可以先并行试。生态方面值得知道完整 REST API 带交互控制台、可配置 webhook、自定义 widget 能把外部页面挂到表数据上官方模板库有薪酬、库存、开票等现成模板可以直接套用。先用上面那条 Docker 命令把 Grist 跑起来建一个两张关联表的小文档半小时你就能判断它适不适合自己的工作流。【免费下载链接】grist-coreGrist is the evolution of spreadsheets.项目地址: https://gitcode.com/GitHub_Trending/gr/grist-core创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表