Title1
Title2
Title3
Login
Link
Search
教學頻道
GAS+購物車開發
Google表單+電商購物車
中信金融管理學院
點二下資訊社
新化社區大學
GAS專案
GAS+購物車開發
Google表單實戰電商購物車
GAS+LineBot開發
外帶內用管理
購物車管理
線上打卡系統管理
萬用表單5
LineBot 線上書籍
PHP專案
網站程式設計-PHP(10502)
網站程式設計-PHP
PHP SMARTY 樣板引擎
SMARTY樣板
課程教材
雲端工具入門
行動應用企劃人員養成班
萬用表單5
GAS+LineBot開發
研習
萬用表單5
鐵人賽-Google Apps Script整合運用
GAS+LineBot開發
樂齡3C學習不斷電
臺東專科學校
GAS 開發 LineBot 自動接單系統
德鍵
112行動應用企劃人員養成班
111網頁前端設計工程師培訓班
110網頁前端設計工程師培訓班
網頁前端設計工程師培訓班
old
網頁前端設計與開發運用培訓班
Javascript & JQUERY
免費釋出專案
萬用表單
自動資料查詢
台南社大
113-01-雲端工具入門
112-02-AI自動管理
112-01-用QRCODE打造自動化環境
110-01-用雲端打造自動化環境
用雲端打造自動化環境
Google雲端智慧王
讓雲端工具提昇工作效率
Google 速學工作術
台南市總圖
教你如何使用LINE Bot機器人增加工作效率
Google雲端工具基礎應用
Google雲端工具進階應用
工作自動化與行銷(台南社大)
全部教材
台南市人力發展中心
Google工具應用實務班
企業課程
鐳達實業有限公司
GAS研習-20200726
中正大學-GAS研習
將軍圖書館
Google雲端工具基礎應用
Google雲端工具進階應用
南方創客
GitHub 衍伸應用
Google 應用工作術
永康社大
用雲端打造自動化環境(110-春季班)
用雲端打造自動化環境
南關社大
電腦、手機生活應用
遠端桌面
公司業務
傳送檔案
adwcleaner
W10 更新
客戶網站
最近完工
深雋設計有限公司
新化社大校務系統
靚品科技有限公司
5C Precision Co., Ltd.
BALANCE 1
RWD網站
東北關廟麵
曼馱有限公司
永宸昕有限公司
昌美實業社
形象網站
勇信機械有限公司
GAS專案
聯絡我們&案件委託
所有書籍
「雲端工具入門」目錄
MarkDown
11-3 試算表增加欄位
1. ChatGPT聊天機器人
2. 使用Google Site 建立網站
2-1 自訂網域
2-2 Workspace協作平台-自訂網域
2-3 網頁設計素材
3. 使用Google Forms 建立互動式表單
3-1 門診叫號管理
3-2 自動替換網址 表單
4. 使用Google Spreadsheet收集資料
4-1 聯絡我們 功能加強
5. 期中整合運用
6. 使用Google 日曆
6-1 LineNotify 通知
6-2 設定Google日曆函式
6-3 宣告 設定Google日曆函式 所需變數
6-4 完成結果
6-5 嵌入網站
6-6 共用日曆
7. 使用Google 雲端硬碟
8. 使用Google 地圖
9. 使用Google Apps Script
10. 整合運用-在網站建立聯絡我們-Line通知
10-1 申請Line Notify 權杖
10-2 聯絡我們
10-3 門診叫號
10-4 自動替換網址
11. 整合運用 - 公司訂便當」系統
11-1 訂便當 Google表單
11-2 Line通知
11-3 試算表增加欄位
11-4 顯示工作表資料
11-5 部署為網站應用程式
12. 整合運用 - 用Google表單建立購物車
12-1 Google表單購物車
12-1-1 Google表單購物車 功能加強
12-1-2 取得標題列資料
12-1-3 寫資料至儲存格
12-1-4 詢問 Chat GPT
12-1-5 分析 onFormSubmit(e)
12-1-6 結果
12-1-7 完成 Google表單-購物車
13. 專題:Google表單接收 POST、GET
13-1 網址自動轉換
11-5 部署為網站應用程式
雲端工具入門 ====== ### 程式碼.gs ```javascript /*===================================== Get =====================================*/ function doGet(e) { console.log(e); let file = "index"; let title = "訂便當"; let argsObject = { title: title }; return render(file, argsObject, title); } /*====================================== 渲染網頁 file:樣版檔案 argsObject:物件參數 title:有值為主樣版,無值為子樣版 ======================================*/ function render(file, argsObject, title = '') { let tmp = HtmlService.createTemplateFromFile(file); for (let i in argsObject) { tmp[i] = argsObject[i]; } if (title) {//主樣板 return tmp.evaluate().setTitle(title).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL).addMetaTag('viewport', 'width=device-width, initial-scale=1'); } else {//子樣板 return tmp.evaluate().getContent(); } } /*====================================== 請按照工作表欄位順序 設定 ======================================*/ function get_stru() { let stru = [ { title: '時間戳記', //欄名 visible: true, //是否顯示 true|false align: '', //對齊 left|center|right sortable: true, //是否排序 true|false width: 200 //寬度(px) }, { title: '姓名', visible: true, align: '', sortable: true, width: '' }, { title: '餐點', visible: true, align: '', sortable: true, width: '' }, { title: '單價', visible: true, align: 'right', sortable: true, width: '' }, { title: '套餐 +25元', visible: true, align: 'center', sortable: true, width: '' }, { title: '糖', visible: true, align: 'center', sortable: true, width: '' }, { title: '冰', visible: true, align: 'center', sortable: true, width: '' }, { title: '小計', visible: true, align: 'right', sortable: true, width: '80' } ] return stru; } /*====================================== 請自行更換 工作表 名稱 ======================================*/ function getData() { const ss = SpreadsheetApp.getActiveSpreadsheet(); // 請自行更換 工作表 名稱 let ws = ss.getSheetByName("表單回應 1"); let dataArray = {}; let stru = get_stru(); let data = ws.getRange(2, 1, ws.getLastRow() - 1, ws.getLastColumn()).getValues(); // 日期格式化 + 個資顯示 data.forEach((item, index) => { data[index][0] = Utilities.formatDate(item[0], "GMT+08:00", "yyyy/MM/dd HH:mm:ss");//格式化日期 2020/06/13/ 23:06 data[index][1] = deIdentification(item[1]); //個資顯示 }); // 撈出當日的資料 let currentDate = Utilities.formatDate(new Date(), "GMT+08:00", "yyyy/MM/dd");//格式化日期 今天的日期 let todayData = data.filter(item => { let orderDate = item[0].split(' ')[0]; // 取得訂單的日期部分 return orderDate === currentDate; }); return { stru: stru, data: todayData }; } /*============================================ 去識別化(個資顯示) ============================================*/ function deIdentification(str) { str = str.toString(); const showLen = Math.round(str.length / 2); // 顯示幾個 const markLen = str.length - showLen; // 要隱藏幾個 const showStart = Math.round((str.length - showLen) / 2); // 從哪開始隱 return str.replace(str.substr(showStart, markLen), '*'.repeat(markLen)); } ``` ### 新增 index.html (副檔名不用輸入) ```javascript
= title ?>
```