AppSheet 零程式做 App — 從 Google Sheets 長出企業內部工具
AppSheet 的核心價值不在「不用寫程式」,而在把已經存在的 Google Sheets 資料表直接變成有權限控管、離線可用、能觸發流程的行動 App。對於已經用試算表管理庫存、報修、巡檢、請款的中小團隊,導入成本是數小時而非數週——因為資料模型早就長好了,AppSheet 只是在上面套一層介面與規則。 AppSh
AppSheet 的核心價值不在「不用寫程式」,而在把已經存在的 Google Sheets 資料表直接變成有權限控管、離線可用、能觸發流程的行動 App。對於已經用試算表管理庫存、報修、巡檢、請款的中小團隊,導入成本是數小時而非數週——因為資料模型早就長好了,AppSheet 只是在上面套一層介面與規則。 AppSheet 是什麼:Google 收購後的定位 AppSheet 是 Google Cloud 旗下的無程式碼應用程式開發平台,2020 年 1 月被 Google 收購。 「Google 於 2020 年 1 月收購 AppSheet,將其納入 Google Cloud 應用程式開發產品線」(來源:Google Cloud Blog) 。收購後最實際的改變是與 Google Workspace 的整合深度:Sheets、Drive、Gmail、Calendar 都成為原生資料來源與動作目標,且 Workspace 部分方案已內含 AppSheet Core 授權。 它的運作模型與傳統開發顛倒。傳統流程是先設計資料庫 schema,再寫 API,再做前端。AppSheet 是先指向一份既有的資料表(Google Sheets、Excel on OneDrive、Cloud SQL、Salesforce 等),平台自動推導欄位型別、產生預設的清單/表單/詳細頁介面,你再往上疊規則。整個過程沒有編譯、沒有部署管線,儲存即生效。 市場規模的背景值得一提: 「Gartner 預測到 2025 年,70% 的新企業應用程式將使用低程式碼或無程式碼技術開發,2020 年此比例低於 25%」(來源:Gartner) 。這個轉變的驅動力不是技術偏好,而是企業內部工具的需求量遠超過 IT 部門的產能。 資料模型:Google Sheets 的優勢與硬限制 用 Google Sheets 當後端最大的優勢是「零遷移成本」,最大的風險是規模天花板。AppSheet 讀取 Sheets 時,一列即一筆記錄,第一列為欄位名稱。這代表你現有的報修紀錄表、庫存盤點表,只要標題列乾淨、沒有合併儲存格、沒有跨欄標題,幾乎可以直接使用。 必須先整理的三件事 唯一鍵欄位 :AppSheet 需要一欄能唯一識別每筆記錄。若原表沒有,建議新增一欄用 UNIQUEID() 產生,不要用「姓名」或「日期」這種可能重複的欄位當 Key,否則編輯會改到錯的列。 移除公式欄位的衝突 :Sheets 裡的 ARRAYFORMULA 若覆蓋整欄,AppSheet 新增列時會寫入衝突。改用 AppSheet 的 Virtual Column(虛擬欄位)計算,或把公式改成逐列填入。 拆表建立關聯 :一張大寬表不如三張窄表加 Ref 關聯。例如「設備」「報修單」「處理紀錄」分三表,用 Ref 型別串起來,App 會自動產生「點設備看到所有報修」的層級導覽。 效能的實際邊界 Google Sheets 作為後端的效能限制是真實存在的。 「AppSheet 官方文件建議,Google Sheets 資料表超過 5,000 列時應考慮遷移至資料庫型後端以維持效能」(來源:AppSheet Help) 。實務上,數百列的表同步時間在 1-2 秒內,數千列後同步時間會明顯拉長,因為 AppSheet 每次同步是整表讀取而非增量查詢。 解法有三個層次:先用 Security Filter 限制每個使用者只下載自己需要的列(例如 [Assignee] = USEREMAIL() ),這能同時解決效能與權限;其次是把歷史資料歸檔到另一張表;規模真的上去了,就把後端換成 Cloud SQL 或 AppSheet Databases,介面與邏輯不用重做。 四個真正產生價值的功能 介面自動生成只是入門,AppSheet 與「把 Sheets 開在手機上看」的差距在以下四項。 離線作業與同步佇列 App 可設定為離線可用,資料暫存在裝置端,恢復連線後自動回傳。這對倉庫、工地、地下室機房這類訊號不穩的場景是決定性差異。設定位置在 Behavior 的 Offline/Sync 區塊,開啟 Delayed Sync 後,使用者按下儲存不會卡在等待網路。需要注意的是離線期間無法取得其他人的更新,若多人同時編輯同一筆記錄,後同步的會覆蓋前者。 權限控管:Security Filter 與角色 Security Filter 是伺服器端過濾,不是介面上的隱藏。這點很重要——用 Show_If 隱藏欄位,資料其實已經下載到裝置;用 Security Filter,不符條件的列根本不會傳到使用者裝置上。敏感資料(薪資、客戶聯絡方式)一律用 Security Filter。常見寫法是在使用者表建立 Role 欄位,再
相關工具書
由 FeiYueh 親自審稿驗證 · 最後更新於 2026-09-14. Independently maintained — not AI-generated boilerplate.
← Back to Blog