(2024/06/29 更新:Google 已經終止了 API 的服務,之後會另外發一篇文介紹其他服務!)
什麼,Google 試算表也可以變得出 QR Code?
還真的可以!上面就是從 Google 試算表串連 Google 圖表 API(Google Charts API)得到的 QR Code。
相信大家常在日常生活中看到 QR Code,像是行動支付、車票、發票、廣告傳單、網頁等等的,其實你也可以做一個!我們來看看怎麼做吧 ( ゚∀゚) ノ
作法
在進入實作過程之前,請你先想像一個今天去某個咖啡廳、享用個美好的午餐的場景吧。想像你會做這些事情:
- 你想點一杯卡布奇諾、一片檸檬派、跟他們家招牌的焗烤筆管麵。
- 你招招手,請服務生過來幫你點餐。
- 他進一步問你,卡布奇諾要冰的還是熱的、焗烤筆管麵要不要加大、檸檬派先上還是後上,等等的。
- 你決定好了,服務生回到廚房請廚師準備。
- 過了十分鐘,你的餐點一個個上了,你有個很開心的一餐。☕️
那我們回到試算表上。今天要做的事情,其實就跟去咖啡廳點餐很像,會請到 Google 圖表 API 這位「服務生」,請他把你點的「QR Code」、按照你的需求放到你的試算表上(你的餐桌上)。
整理一下流程,就會像這樣子:
- 想好你要點的餐:準備好要放在 QR Code 的網址或文字
- 描述你點餐的需求:設定 QR Code 的生成參數
- 料理上桌,開動:讓 API 產生的 QR Code 出現在試算表上
好,釐清了流程後,我們到
雲端硬碟開一個新的試算表,一起實作看看吧!
一、準備你要點的餐
QR Code 可以放的資料有英數字、中文字、日文假名、其他拉丁字母、非拉丁字母也可以,網址當然也 OK。例如:
- 123456
- 喜特先生 Mr. Sheet
- スプレッドシート
- Schönen Tag noch!
- https://vocus.cc/user/602bf35efd897800019eefb5
但 QR Code 有個限制,那就是這個資料不能超過 4,296 個字元,如果你的資料超過了這個限制,會出現錯誤、沒辦法處理,可能就得做點取捨囉。
還有一點要注意的是,把資料送給服務生之前,它們都必須經過「編碼」這個手續,才能讓它正確讀懂你的資料。編碼這件事只要靠一個 ENCODEURL 這個函式就可以解決了:
=ENCODEURL(資料)
例如:
=ENCODEURL(123456) --> "123456"
=ENCODEURL("喜特先生 Mr. Sheet") --> "%E5%96%9C%E7%89%B9%E5%85%88%E7%94%9F%20Mr.%20Sheet"
=ENCODEURL("スプレッドシート") --> "%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88"
那今天先用我的方格子個人頁面的網址做示範吧!在你剛做好的試算表的 A1 輸入:
https://vocus.cc/user/602bf35efd897800019eefb5
我們在 A2 接著輸入:
=ENCODEURL(A1)
就會得到:
第一步完成,我們來看看第二步。
二、描述你點餐的需求
接下來要請服務生過來了!呼叫他要用到這條網址:
https://chart.googleapis.com/chart?
但我們還沒結束。要製作 QR Code 的話,我們還要告訴服務生三句話:
- 「chs=寬x長」:生成圖檔的尺寸
這邊尺寸的表示方法是「chs=寬x長」,單位是像素(px),像是 chs=200x200、chs=300x300、chs=400x400 這樣。要注意,API 不接受超過 30 萬像素(px)的要求,所以如果你要的圖檔面積超過 30 萬,就沒辦法生成 QR Code 了。在「點餐」之前記得要算一下下!
- 「cht=qr」:要生成的圖表種類
這邊我們要生成的是 QR Code,要下個固定的指令叫「cht=qr」。
- 「chl=編碼後的資料」:剛剛第一步編碼後的資料
這邊表示方法是「chl=編碼後的資料」。我們拿字串「chl=」跟剛剛的 ENCODEURL 後的資料(也就是 A2)用「&」串連起來就好了。
最後,要告訴服務生這些指令,還需要把這三段話串連在一起,要用 & 這個符號,就會像是這樣:
https://chart.googleapis.com/chart?chs=寬x長&cht=qr&chl=編碼後的資料
那我們來做一個 300x300 的 QR Code,連到喜特先生的方格子頁面看看。我們在 A3 寫下:
="https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=" & A2
這邊會出現一個新的網址,點進去就會在新分頁看到 QR Code 了:
三、料理上桌、開動 其實到剛剛那一步,你就可以在新分頁產生的 QR Code 上點右鍵、另存圖片存起來了。那如果要讓這個 QR Code 出現在試算表上,我們要再利用一個
IMAGE的函式,讓你在儲存格內插入網路上的圖片:
=IMAGE(網址)
例如:
=IMAGE("https://www.google.com/images/srpr/logo3w.png")
那我們在 A4,寫下:
=IMAGE(A3)
喔?好像有什麼黑漆漆的小方塊出現了。我們把第四行拉高一點點:
成功!適度調整一下欄寬跟行高,拿給手機掃描看看:
如果你覺得這上面的過程太繁複,你可以先到我準備好的
試算表,準備了樣板跟範例給你參考。
在「樣板」工作表上,只要輸入長、寬還有資料,Google 試算表就會提供生成網址、還有 QR Code 給你。如果不確定怎麼寫,你可以到「範例」工作表看看我的示範喔!
我也鼓勵你照著教學從頭到尾跟著做做看,會更了解「&」的運作方式,試著跟這位「服務生」點餐看看吧 ✧◝(⁰▿⁰)◜✧
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
我是喜特先生,Mr. Sheet,我們下個教學見!