Bài tập lập tình căn bản google app script năm 2024

doGet là hàm trong Google Apps Script giúp ta lấy dữ liệu từ Google Sheet, dữ liệu lấy về có thể dạng Text, JSON ... thông qua HTML, từ đó ta có thể sử dụng JAVASCRIPT hay JQUERY để bóc tách xử lý dữ liệu.

doPost là hàm trong Google Apps Script giúp ta gởi dữ liệu từ trang web do ta thiết kế (đoạn html), khi đó ta viết code Google Apps Scripts để bóc tách và đưa dữ liệu đó vào các hàng của Google Sheet.

Hướng dẫn các lập trình chèn dữ liệu vào SQL Server khi thêm dòng Google Sheet

Bạn đang có 1 file google sheet, bạn cần nghiệp vụ:

Khi có ai đó thêm dữ liệu vào google sheet thì sẽ tự động chèn dữ liệu này vào cơ sỡ dữ liệu SQL Server

Google Script (còn được gọi là Google Apps Script) là một nền tảng phát triển ứng dụng cho phép bạn tích hợp tất cả các dịch vụ Google Cloud mà bạn đang sử dụng. Google cung cấp một danh sách dài các API cho từng dịch vụ đám mây của họ. Bằng cách viết các ứng dụng Google rất đơn giản, bạn có thể mở ra toàn bộ thế giới các tính năng bổ sung trong từng dịch vụ của Google.

Trong khoá học cơ bản Google App Script giúp bạn điều gì ? Hiểu về việc Google App Script vận hành Hiểu về việc Google App Script làm được những gì Hiểu và chuyển thể thành những câu lệnh ứng dụng trong bài toán của mình Hiểu, thực hành về việc tự động hoá nhiều thao tác bằng Google App Script.

Bài giảng Google App script tập trung vào Google app Script làm được những gì ? Giới thiệu về hoạt động Google App Script Cách lấy/ghi giá trị trong file Google Sheet đang thao tác Cách lấy/ ghi giá trị ở file Google sheet khác. Vòng lặp FOR Câu lệnh điều kiện IF Giới thiệu Trigger (kích hoạt) / thực hiện các Automation theo điều kiện

Khi sử dụng Google SpreadSheet, đôi khi chúng ta phải lưu trữ rất nhiều thông tin và thực hiện các tác vụ phức tạp. Trong bài này, mình sẽ giới thiệu 2 phương pháp giúp tự động hóa Google SpreadSheet, để chúng ta có thể sử dụng nó một cách chuyên nghiệp, tiện lợi hơn.

2 phương pháp sau đây sẽ sử dụng Google Apps Script. Vậy trước hết mình sẽ giới thiệu qua về Google Apps Script.

1. Giới thiệu về Google Apps Script

Google Apps Script là ngôn ngữ lập trình dựa trên Javascript, với trình biên tập, biên dịch nằm trên máy chủ của google. Do đó, nó rất tiện lợi để có thể tạo các ứng dụng web nhẹ. Chúng ta có thể mở trình biên tập Google Apps Script trên Google SpreadSheet bằng cách chọn Tool -> Script Editor.

Một số điều Google Apps Script có thể làm:

  • Custom menu, popup cho Google Docs, Google Sheets, Google Forms.
  • Viết custom function cho Google Sheets.
  • Tương tác giữa Google Sheets với các dịch vụ khác của Google như: Google Drive, Gmail, Google Slide,....

Và nhiều điều khác nữa…

Sau đây, mình sẽ giới thiệu phương pháp tự động hóa Google SpreadSheet bằng cách sử dụng hàm Trigger của Google Apps Script và phương pháp chạy Cronjob.

2. Một số loại hàm Triggers

  • onOpen(e) : tự động chạy khi chúng ta mở bảng tính. (Người mở phải có quyền chỉnh sửa).
  • onInstall(e): tự động chạy khi chúng ta cài đặt Editor Add-on.
  • onEdit(e): tự động chạy khi chúng ta thay đổi giá trị trong bảng tính.
  • onSelectionChange(e): tự động chạy khi chúng ta thay đổi selection trong bảng tính.
  • doGet(e): tự động chạy khi chúng ta mở một web app hoặc chương trình gửi HTTP GET request đến web app.
  • doPost(e): tự động chạy khi chương trình gửi HTTP POST request đến web app.

Sau đây mình sẽ làm một ví dụ với hàm doEdit()

Bài toán

Chúng ta đang lập danh sách những đồ cần mua cho chuyến đi picnic sắp tới. Nội dung file như sau:

Bài tập lập tình căn bản google app script năm 2024
Để thuận tiện cho việc tính toán số tiền tiêu tốn, chúng ta muốn sheet tự động tính tổng giá tiền những món đã được chọn.

Hướng giải quyết

Dùng hàm onEdit() để kiểm tra sự thay đổi của cột C. Khi cột C có thay đổi, kiểm tra nếu checkbox của ô đang thao tác được check thì lấy giá trị ô bên trái nó (ô giá tiền) và cộng vào Tổng tiền. Ngược lại, nếu checkbox không được check thì lấy Tổng tiền trừ đi giá tiền món đồ đó.

Code

function onEdit() {
  //Lấy ra file SpreadSheet đang thao tác
  var activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  //Lấy ra sheet đang thao tác
  var activeSheet = activeSpreadSheet.getActiveSheet();
  //Lấy ra ô đang được chọn
  var activeRange = SpreadsheetApp.getActiveRange();
  //Lấy ra cột của ô đó
  var activeColumn = activeRange.getColumn();
  //Khi ô được chọn thuộc cột 3 (Cột checkbox)
  if(activeColumn == 3){
    //Lấy ra hàng của ô đó
    var activeRow = activeRange.getRow();
    //Giá tiền của đồ được chọn là giá trị của ô bên trái ô này
    var price = SpreadsheetApp.getActiveSheet().getRange(activeRow,activeColumn-1).getValue();
    //Tổng giá tiền là giá trị của ô E2
    var sumCell = activeSheet.getRange("E2");
    var sumValue = sumCell.getValue();
    //Nếu checkbox được check thì + giá tiền vào sum, và ngược lại
    if(activeRange.isChecked()){
      sumValue += price;
    }else{
      sumValue -= price;
    }
    //Ghi lại giá trị sum vừa tính được vào ô E2 
    sumCell.setValue(sumValue);
   }
}

Lưu lại, nhập tên Project và chọn Run. Lần đầu chạy thì Google sẽ yêu cầu xác minh. Sẽ có cảnh báo an toàn nhưng không sợ đâu, code mình tự viết mà

Bài tập lập tình căn bản google app script năm 2024

Cuối cùng thì quay lại sheet và tận hưởng thành quả nào.

Bài tập lập tình căn bản google app script năm 2024

3. Cronjob

Bài toán

Chúng ta tạo 1 file SpreadSheet để quản lý thông tin giá BTC. Giá BTC được lấy về bằng việc gọi API. Vì giá BTC biến động liên tục nên chúng ta muốn hệ thống tự chạy hàm lấy giá BTC theo một chu kì cố định, nhờ vậy giá BTC trong file sẽ luôn được cập nhật.

Nội dung file sheet sẽ có dạng như sau:

Bài tập lập tình căn bản google app script năm 2024

Code

function btc_price(){
  var url = "https://api.coinbase.com/v2/prices/spot?currency=USD";
  var rsp = UrlFetchApp.fetch(url);
  var json = JSON.parse(rsp.getContentText());
  return json.data.amount;
}

Viết hàm trên vào trong Script editor, sau đó gọi hàm btc_price trong bảng tính để lấy giá BTC ở thời điểm hiện tại.

Bài tập lập tình căn bản google app script năm 2024
Nếu chỉ thế này thôi thì giá BTC sẽ không được cập nhật mỗi khi ta vào lại. Để nó tự động lấy giá trị mới nhất thì ta sẽ cho hàm btc_price chạy cronjob theo các bước dưới đây.

Tạo Cronjob

B1: Nhấn vào biểu tượng Current project's triggers (Các kích hoạt của dự án hiện tại)

Bài tập lập tình căn bản google app script năm 2024
B2: Nhấn vào Add Trigger (Thêm trình kích hoạt) ở bên dưới màn hình. Chọn hàm chạy là btc_price, chọn thời gian chạy hàm tùy theo nhu cầu. Như trong hình bên dưới thì mình cho hàm chạy vào khoảng từ 0h-1h mỗi ngày.

Bài tập lập tình căn bản google app script năm 2024

Như vậy là đã tạo xong Cronjob. Hàm được chọn sẽ tự động chạy theo thời gian được cài đặt.

Kết

Trên đây là 2 phương pháp giúp chúng ta sử dụng spreadsheet tiện lợi, chuyên nghiệp hơn. Ngoài 2 phương pháp trên, Google Apps Script còn rất nhiều ứng dụng thú vị khác. Nếu có thời gian hãy tìm hiểu thêm nhé.