[數據分析#71] 收據訂貨單範本下載:Apps Script + Google Sheet + Google Doc + 生成 PDF:流程自動化

什麼是 Google Apps Script?

  • GAS 是一個 Google 推出的開發平台,可以透過撰寫 JavaScript 來達到自動化、爬蟲、資料處理的過程!不需要下載環境,就可以直接打 code 的免費程式語言
  • GAS 可以整合與連結各項常用的 Google 產品,像是 Google Sheet (試算表)、Google Doc (Google 文件)、Gmail、Google Form (Google 表單)、Google Drive (雲端硬碟) 等等
  • 自動化、爬蟲、資料處理的過程包含:小到資料格式處理,大至流程自動化、爬蟲等等各種目的!
  • 如果有跟著我一起學習 Google Sheet、Big Query (SQL) 的大家,GAS 有很多實際的應用場景,非常推薦想要學習數據分析 + 自動化的大家可以碰!

不寫程式就可以下載的擴充功能!爬蟲、自動寄信功能等等都有!

  • 如果不想自己手寫 GAS,不想學習如何雕刻出一項功能,其實也有許多別人寫好的套件,可以直接安裝在 Google Chrome、Google Sheet 之中
  • 如何下載擴充功能?
    • 任一 Google Sheet → 上排 Menu 中的”擴充功能” → 外掛程式 → 取得外掛程式 或直接搜尋 Google Workspace Marketplace
收據訂貨單範本下載:Apps Script + Google Sheet + Google Doc + 生成 PDF:流程自動化

收據訂單自動化 (含範本下載) 完整流程實作公開

第一步:收據及訂單資訊管理:Google Sheet 管理訂單資訊

  1. 首先,我們可以先把訂貨單範本寫好
  2. 其中會包含訂貨單中會出現的所有資訊 (欄位),例如:付款人姓名、付款人電話、訂購日期、訂購項目、單價、數量、總價、銷售方姓名、銷售方電話、銷售方統編
第一步:收據及訂單資訊管理:Google Sheet 管理訂單資訊

為什麼要用 Google Sheet 管理收據及訂貨單資訊?

  • 方便統整貨品售出資訊、銷售數據、營收報表!

第二步:設計收據及訂貨單範本:使用 Google Doc 設計範本

  1. 設計收據的樣式、訂貨單的樣式
  2. 將第一步中的資訊 (欄位) 都設計到 Google Doc 的範本中
第二步:設計收據及訂貨單範本:使用 Google Doc 設計範本

第三步:開啟 GAS:設計自動化流程

接下來,我會詳細講解一下怎麼用 Google Apps Script 生成收據!流程真的很簡單~

  1. 步驟 1:獲取連結
    1. 獲取 Google Sheet、Google Doc 和 Google Drive 的文件 ID (ID 在連結上)
  2. 步驟 2:爬數據,並且生成收據
    1. 打開 Google Sheet,爬所有的數據範圍
    2. 對於每一行數據,執行以下操作:
      1. 複製收據範本 (Google Doc)
      2. 替換文件內容,變成相應數據,比如說把付款人姓名變成 Lisa
      3. 儲存文件
  3. 步驟 3:生成 PDF 並移動至收據資料夾
    1. 將每個收據範本 (Google Doc) 轉換為 PDF 格式
    2. 更改 PDF 文件名稱:改成收據 + 姓名
    3. 移動到我指定的收據資料夾
  4. 步驟 4:刪除 Google Docs 副本
    1. 刪掉剛剛中間複製的收據範本 (Google Doc),因為我們已經生成 PDF 了!那就不需要這個範本啦~

GAS code 範本:將資料自動生成收據或是訂貨單

function generateReceipt() {
  var sheetId = '請放入你的 sheet id'; // Google Sheet 的 ID
  var templateFileId = '請放入你的收據 doc id'; // 收據範本的 Google Docs ID
  var folderId = '請放入你的 收據資料夾 id'; // 存放生成文件的 Google Drive 資料夾 ID

  var sheet = SpreadsheetApp.openById(sheetId);
  var data = sheet.getActiveSheet().getRange('A2:K').getValues(); // 假設數據在 A2:K 範圍內

  for (var i = 0; i < data.length; i++) {
    var receiptData = data[i];
    var paymentPersonName = receiptData[0]; // 付款人姓名在第一個位置

    // 複製範本文件
    var templateFile = DriveApp.getFileById(templateFileId);
    var newDocFile = templateFile.makeCopy(); // 複製範本文件
    var newDoc = DocumentApp.openById(newDocFile.getId()); // 打開複製的文件
    var body = newDoc.getBody();

    // 替換標記為對應的數據
    var placeholders = ['付款人姓名', '付款人電話', '訂購日期', '訂購項目', '單價', '數量', '總價', '銷售方姓名', '銷售方電話', '銷售方統編'];
    for (var j = 0; j < placeholders.length; j++) {
      var field = '{{' + placeholders[j] + '}}';
      var value = receiptData[j];
      body.replaceText(field, value);
    }

    // 儲存更新後的收據文件
    newDoc.saveAndClose();

    // 將文件轉換為 PDF 格式
    var pdfContentBlob = DriveApp.getFileById(newDocFile.getId()).getAs('application/pdf');
    var pdfFileName = '收據' + paymentPersonName + '.pdf';
    var pdfFile = DriveApp.createFile(pdfContentBlob).setName(pdfFileName);

    // 移動 PDF 文件到指定資料夾
    var folder = DriveApp.getFolderById(folderId);
    pdfFile.moveTo(folder);

    // 刪除 Google Docs 副本
    DriveApp.getFileById(newDocFile.getId()).setTrashed(true);
  }
}

成果總整理:2 步驟完成自動生成收據及訂貨單!!!

  1. 我只要輸入資訊到 Google Sheet 中
  2. 只要點擊執行 GAS,他就會幫我自動生成每一筆收據 (訂貨單)

總結:用 ChatGPT 學習所有程式語言,開始實作專案!

今天的這個小小的實作專案:收據訂貨單流程自動化,是我搭配 ChatGPT 實作做出來的!如果你想看更多跟 ChatGPT 相關的專案,可以看看這裡~:

不論是數據分析、流程自動化,都是數據分析師可能常常碰到的場景,只要你懂了數據分析的底層邏輯、解決問題的框架,很快就可以想出並且實作出很多便利的、實用的場景!

今天的案例實作範本包

【1 對 1 免費諮詢】數據分析師 0~1 培訓班陪你一路到轉職成功!

hi 我是 Lisa

你也是 0 經驗、沒有相關背景,但也想要轉職數據分析師,或運用數據分析,提升在領域的專業度嗎?

-

你是否也覺得,數據分析的網路學習資源很多,但是多到不知道從哪裡開始?

學了很多工具,但學完了,問題才真正開始,不知道業界怎麼使用?又該如何面臨工作跟面試?

-

我在 2019 年從營運專員的職位轉職到數據分析師

在這之後,因為數據分析,也讓我快速建構不同領域的知識:行銷、營運、商業策略、產品、網頁

轉職過程中,花了很多時間成本摸索

我發現,學數據分析最快的方式是:

  1. 確認自己跟市場需求之間的差距:訂定轉職策略及了解數據分析師的工作方式
  2. 以業界應用的角度學習工具:包括數據工具及分析用思維架構,並且如何高效運用
  3. 建立一個商業上的真實專案,並且得到回饋:打造屬於你及貼合職缺需求的作品集和專案
  4. 打造一個高效履歷跟面談:透過高價值包裝術拿下面試、成功獲得數據行業的門票

當初如果我有這套系統思維,應該可以在短時間內轉職,馬上拿到進入業界的門票

-

現在,我想把這套完整課程分享給你

這是專門為了 0 經驗、沒有相關背景的轉職者所設計

不需要去考研究所、不需要花大錢準備出國讀書

可以用最快的時間準備轉職、拿到門票!

-

如果你正在準備轉職數據分析師,且試圖找過解決辦法卻始終治標不治本!歡迎跟我預約免費 1 對 1 諮詢,我會在諮詢時,了解你的需求並且評估我是否可以協助到你!

電子書 職場人必學的數據分析術

Lisa Wu

Hi 大家好!我是喜歡探索身心靈健康及平衡的數據分析師 Lisa Wu!這個網站會幫助你:利用數據分析 (理性) 及 身心靈平衡 (感性) 的系統,去達成人生目標!如果你對我的人生系統工具有興趣,歡迎聯繫我:couplehonest@gmail.com

This Post Has One Comment

Comments are closed.