熟悉試算表
先掌握欄列、公式、篩選、統計與正確的資料結構。
善用 Google Sheets 收集資料、GAS 自動處理、HTML 建立友善介面,再讓 Gemini 協助撰寫與除錯,逐步打造教務處行政數位網。
先解決自己的工作,再把成果變成大家都能使用的系統。小步快跑,比一次蓋好數位行政帝國可靠得多。
先掌握欄列、公式、篩選、統計與正確的資料結構。
將重複操作程式化,加入選單、批次處理、通知與定時執行。
部署成網頁,讓教師可填報、查詢與操作,不必直接碰試算表。
在 Google 生態系內即可開發部署,適合校內小型工具快速起步。
把整理、統計、通知、產表等例行工作交給程式。
可串接 Sheets、Drive、Gmail、Calendar 與外部 API。
常用服務有 SpreadsheetApp、DriveApp、MailApp、UrlFetchApp、Utilities 與 HtmlService。新手可依「讀寫試算表 → 自動通知 → 串接服務 → 網頁部署」學習。
保留六個教學組行政案例的完整實作。每個案例均可切換 Code.gs 與 index.html,並可一鍵複製程式碼。
以下六張提示詞卡片分別對應六個行政案例。可先複製提示詞交給 Gemini,再依學校實際欄位、權限與流程逐步修正。
你現在是一位精通 Google Apps Script (GAS) 與前端網頁設計的工程師。我有一個 Google 試算表,用來記錄「教師研習時數」。請幫我撰寫完整的 GAS 程式碼與 HTML/CSS/JS 網頁程式碼,需包含以下功能: 一、GAS 試算表端功能 (Code.gs) 1. 自訂選單:開啟試算表時,在工具列產生一個「🛠️ 自訂工具」選單。 2. 隱藏姓名中間字:選單包含一個功能,能讀取 B 欄的「教師姓名」,將兩個字的名字第二個字變成 O(如王明變成王O),三個字以上的中間字都變成 O(如施凱成變成施O成),並寫回原欄位。 3. 統計研習時數:選單包含另一個功能,能讀取 B 欄(姓名)與 I 欄(研習時數),加總每位教師的總時數後,將結果輸出到一個名為「教師總研習時數」的新工作表。 4. Web App 部署:建立 doGet(e) 函式載入 Index.html,並撰寫一個 getSpreadsheetData() 函式,回傳試算表的明細資料與加總過後的統計資料給前端使用。 二、Web App 網頁端功能 (Index.html) 1. UI/UX 設計:使用深藍色系、具有科技感與玻璃擬物化 (Glassmorphism) 風格的介面。包含漸層背景、毛玻璃卡片效果 (backdrop-filter) 與發光邊框。 2. 版面配置:頂部有系統標題。有一個全域搜尋框,輸入關鍵字即可即時篩選下方表格資料。 3. 提供兩個頁籤按鈕:「📜 研習時數明細」與「📊 個別教師統計」,點擊可切換顯示不同的表格。 4. 資料互動:開啟網頁時需顯示 Loading 動畫,透過 google.script.run 獲取資料後渲染表格。 5. 搜尋功能需使用 JavaScript 即時過濾行資料(包含明細與統計表格)。 ------------------------------------------------------------- 開啟 Google Sheets(資料由全教網滙出) 範例 ↗
請使用 Google Apps Script+HTML+Google Sheets+Google Drive+Google Chat Webhook 建立「試卷上傳通知系統」: 1. 欄位包含學期、年級、科目、評量類型、上傳者、備註與試卷檔案。 2. 只接受 PDF、DOCX、JPG、PNG,單檔上限 20MB。 3. 檔案存入指定 Drive 資料夾,資料寫入「試卷上傳」工作表。 4. 上傳成功後傳送 Google Chat 通知,Webhook 請存於 Script Properties,不可寫在前端。 5. 加入欄位驗證、錯誤處理、重複送出防護及上傳進度提示。 6. 請提供完整 Code.gs、index.html、設定資料夾 ID、Webhook 與部署步驟。
請使用 Google Apps Script+HTML+Google Sheets 建立「前五名與進步獎填寫系統」: 1. 提供班級與填報教師欄位。 2. 前五名提供 5 個正式姓名欄位及 3 個備用欄位。 3. 進步獎提供 3 個正式姓名欄位及 2 個備用欄位。 4. 必須檢查正式名額是否填滿,同一學生不可重複。 5. 每位學生各寫成一列,記錄時間、班級、獎項、順位、姓名及填報教師。 6. 資料成功寫入後,自動傳送 Google Chat 通知,通知內容包含班級、填報教師、前五名、進步獎與備用名單。 7. Google Chat Webhook URL 必須存放在 Apps Script 的「指令碼屬性」,屬性名稱使用 CHAT_WEBHOOK,不可寫在 Code.gs 或前端 HTML。 8. 若資料已寫入但 Chat 通知失敗,需回傳「資料已儲存、通知失敗」的警告,不可讓使用者誤以為資料未送出。 9. 請提供完整 Code.gs、index.html、setup()、CHAT_WEBHOOK 設定方式與網頁應用程式部署步驟。
你現在是一位精通 Google Apps Script (GAS) 與前端網頁開發(Bootstrap 5 + JavaScript)的全端工程師。請幫我開發一個「唐詩宋詞檢核系統」的 GAS Web App。 【專案結構與資料庫需求】 此系統基於 Google Sheets 作為資料庫,包含以下工作表: 1. 「檢核記錄」:欄位依序為 [時間, 週次, 年級, 班級, 座號, 檢核詩詞, 結果]。 2. 「一上」至「六下」共12個工作表(作為詩詞題庫):欄位依序為 [詩名, 作者, 詩文內容]。 【後端功能需求 (Code.gs)】 1. doGet(e):回傳 index.html。 2. initPoemSheets():自動初始化並建立「一上」到「六下」的資料表。 3. getAllPoems():抓取「一上」到「六下」所有的詩詞資料,以 JSON 物件回傳。需防呆處理空資料表。 4. drawWeeklyNumbers(seat):依傳入的「座號」,自動產生全校名單(1~6年級,各年級包含甲、乙、丙班,指定同一個座號)。 5. submitResult(recordData):將單筆檢核紀錄(週次, 年級, 班級, 座號, 詩詞, 結果)寫入「檢核記錄」工作表。 6. searchByWeek(week):依「週次」查詢「檢核記錄」工作表的數據,並依年級、班級排序後回傳。 7. sendReportToChat(week):統計該週次的檢核人數、通過人數、未通過人數與詳細名單,透過 Webhook URL 傳送訊息至 Google Chat。Webhook URL 必須存放於指令碼屬性 CHAT_WEBHOOK,不可直接寫在程式碼中。 【前端功能需求 (index.html)】 1. 採用 Bootstrap 5 進行 UI 設計,設計需現代化、簡潔,並具備響應式設計(RWD)。 2. 將畫面分為三個頁籤 (Tabs): - [📝 本週檢核]:輸入週次與座號,點擊產生名單。名單以「卡片 (Card)」方式呈現(顯示班級、座號),卡片內必須包含一個「詩詞下拉選單(從 getAllPoems 自動載入並以 optgroup 依學期分類)」以及「通過/未通過」按鈕。點擊按鈕後切換為 Loading 狀態並呼叫後端寫入,完成後卡片變色並顯示結果。 - [🔍 結果查詢]:輸入週次查詢,以表格 (Table) 呈現該週所有紀錄。提供一個「傳送至 Chat」按鈕,可呼叫後端發送報表。 - [📚 詩詞題庫]:讀取並顯示所有學期的詩詞清單,需附帶「搜尋關鍵字過濾」功能,即時隱藏不符合的表格列。 3. 【重要】前端必須包裝一個 runGAS 的 Promise 函式,用於相容實際的 google.script.run 與「本地 Mock 資料」,確保在無 GAS 環境下也能測試 UI 邏輯。需針對陣列長度讀取 (length) 做好防呆(例如 undefined 檢查)。 Google Sheets 範例分享連結: https://docs.google.com/spreadsheets/d/1JKZb7N0ofUS_AEUJ516ZRdp6KtnKBDRqda1TU38a-sU/edit?usp=sharing
請使用 Google Apps Script+HTML+Google Sheets+Google Drive 建立「校內投稿系統」: 1. 欄位包含投稿日期、班級、作者、文章標題、投稿類別、文章內容、指導教師及附件。 2. 附件為選填,接受 PDF、DOCX、JPG、PNG,存入指定 Drive 資料夾。 3. 投稿資料寫入「投稿資料」工作表,初始狀態為「待審核」。 4. 產生唯一投稿編號,避免重複送出,並提供成功訊息。 5. 檔案權限保持受限制,不要公開學生作品或個資。 6. 請提供完整 Code.gs、index.html、setup()、資料夾設定與部署步驟。
【角色設定】 你現在是一位資深的 Google Apps Script (GAS) 全端工程師與 UI/UX 網頁設計師。請幫我開發一個綁定在 Google 試算表上的「教科書費用統計查詢系統」,包含後端 code.gs 與前端 index.html。 【資料來源說明】 我的試算表內有三個原始資料工作表,請根據這些資料進行計算: 1. 「各年級人數」:包含欄位為「年級、總人數、原住民人數、身障學生人數、身障子女人數、無力繳交人數、學校用書申請數」等。(註:發問時請視情況貼上一兩行假資料讓 AI 參考) 2. 「選用版本」:記錄各科目在各年級選用的出版社(康軒、翰林、南一)。 3. 「各版本價格」:記錄各科目、各年級、課本/習作在各出版社的單價。 【後端功能需求 (code.gs)】 1. 自訂選單 (onOpen):在試算表上方建立「📋 教科書工具」選單,包含三個按鈕:「1. 生成年級費用總表」、「2. 生成各版本分類報表」、「3. 生成學校用書專屬報表」。 2. 報表生成邏輯: - 讀取上述三個工作表的資料,並建立對應的映射表 (Map) 以利比對價格與版本。 - 點擊選單後,自動計算並生成(或覆寫)5 個新的工作表:「年級費用統計」、「學校用書統計」、「康軒統計」、「翰林統計」、「南一統計」。 - 金額計算公式:數量 × 該年級/科目/版本的單價。並需特別計算「弱勢總人次(原住民+身障)」的合計費用。 3. 試算表美化:寫入資料後,請自動套用背景顏色(例如表頭用綠色/藍色底、合計列用黃色底),並設定粗體與自動調整欄寬。 4. Web App 串接: - 建立 doGet() 來渲染 index.html。 - 建立 getWebAppData() 函式,抓取那 5 張統計報表的所有範圍資料 (getValues),打包成 JSON 物件回傳給前端。 【前端介面需求 (index.html)】 1. 單一檔案結構:CSS 與 JavaScript 請全部寫在 HTML 檔案內,不要拆分。 2. 視覺風格 (UI/UX): - 主題:深色模式 (Dark Mode),背景採用 CSS 繪製的「星空背景 (Starry night)」。 - 容器:使用「毛玻璃特效 (Glassmorphism)」,帶有半透明背景、邊框模糊與發光效果。 - 顏色:強調色使用霓虹藍 (Accent Blue) 與青色 (Cyan),文字為白色或淺藍色。 3. 功能組件: - 載入動畫:啟動與重新整理時,顯示全螢幕的 Spinner 讀取畫面。 - 頁籤切換 (Tabs):上方放置 5 個頁籤,分別對應那 5 張報表。點擊時無縫切換表格內容。 - 動態表格:表格需有 sticky header(凍結表頭),滑鼠懸停 (hover) 時有列高亮效果。請透過 JavaScript 判斷,若該列包含「合計」或「總計」字眼,請套用特殊顏色的 CSS 樣式。 - 列印功能:右上角放置「列印報表」按鈕 (window.print())。必須包含 @media print 樣式:列印時強制隱藏星空背景、隱藏按鈕與頁籤,將背景轉為純白,文字轉為深黑色以節省墨水,並設定 A4 橫向列印。 【程式碼產出要求】 請直接提供完整、無省略的 code.gs 與 index.html 程式碼,並在程式碼中加上適當的中文註解說明。 ------------------------------------------------------------------------------- 範例程式碼↗
整合教務處常用行政系統,請參考各種實例。