Mở rộng Google Trang tính

Google Apps Script giúp bạn làm những việc mới và thú vị với Google Trang tính. Bạn có thể sử dụng Apps Script để thêm trình đơn tuỳ chỉnh, hộp thoại và thanh bên trong Google Trang tính. Điều này cũng cho phép bạn viết các hàm tùy chỉnh cho Trang tính cũng như tích hợp Trang tính với các tính năng Các dịch vụ của Google như Lịch, Drive và Gmail.

Hầu hết các tập lệnh được thiết kế cho Google Trang tính đều thao tác các mảng để tương tác với các ô, hàng và cột trong bảng tính. Nếu bạn không quen thuộc với các mảng trong JavaScript, Codecademy cung cấp mô-đun đào tạo tuyệt vời cho mảng. (Xin lưu ý rằng khoá học này không được phát triển bởi và không được liên kết với Google.)

Để được hướng dẫn nhanh về cách sử dụng Apps Script với Google Trang tính, hãy xem Hướng dẫn bắt đầu nhanh trong 5 phút về Macro, Trình đơn và Hàm tuỳ chỉnh.

Bắt đầu

Apps Script bao gồm các API đặc biệt để bạn có thể tạo, đọc và chỉnh sửa Google Trang tính. Apps Script có thể tương tác với Google Trang tính bằng hai kiểu mở rộng cách: bất kỳ tập lệnh nào cũng có thể tạo hoặc sửa đổi bảng tính nếu người dùng tập lệnh đã quyền thích hợp cho bảng tính và một tập lệnh cũng có thể ràng buộc với một bảng tính cung cấp cho tập lệnh khả năng đặc biệt để thay đổi giao diện người dùng hoặc phản hồi khi bảng tính được mở ra. Để tạo một tập lệnh ràng buộc, hãy chọn Tiện ích > Apps Script từ bên trong Google Trang tính.

Dịch vụ bảng tính xử lý Google Trang tính ở dạng lưới, hoạt động với các mảng 2 chiều. Để truy xuất dữ liệu từ bảng tính, bạn phải truy cập vào bảng tính chứa dữ liệu lưu trữ, lấy dải ô trong bảng tính chứa dữ liệu rồi lấy giá trị giá trị của các ô. Apps Script dễ dàng truy cập vào dữ liệu bằng cách đọc trong bảng tính và tạo đối tượng JavaScript cho các đối tượng đó.

Đọc dữ liệu

Giả sử bạn có một danh sách tên sản phẩm và số sản phẩm mà bạn lưu trữ một bảng tính, như minh hoạ trong hình dưới đây.

Ví dụ bên dưới trình bày cách truy xuất và ghi tên sản phẩm và sản phẩm số.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Xem nhật ký

Để xem dữ liệu đã được ghi lại, ở đầu trình chỉnh sửa tập lệnh, hãy nhấp vào Nhật ký thực thi.

Đang ghi dữ liệu

Để lưu trữ dữ liệu, chẳng hạn như tên và số sản phẩm mới vào bảng tính, hãy thêm mã sau vào cuối tập lệnh.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Mã trên sẽ thêm một hàng mới ở cuối bảng tính, với giá trị được chỉ định. Nếu chạy hàm này, bạn sẽ thấy một hàng mới được thêm vào bảng tính.

Trình đơn tuỳ chỉnh và giao diện người dùng

Bạn có thể tuỳ chỉnh Google Trang tính bằng cách thêm trình đơn tuỳ chỉnh, hộp thoại và thanh bên. Để tìm hiểu kiến thức cơ bản về cách tạo trình đơn, hãy xem hướng dẫn vào trình đơn. Để tìm hiểu về cách tuỳ chỉnh nội dung của một hộp thoại, hãy xem hướng dẫn về dịch vụ HTML.

Bạn cũng có thể đính kèm hàm tập lệnh vào hình ảnh hoặc bản vẽ trong bảng tính; thì hàm sẽ thực thi khi người dùng nhấp vào hình ảnh hoặc bản vẽ. Để tìm hiểu thêm, hãy xem Hình ảnh và bản vẽ trong Google Trang tính.

Nếu bạn dự định xuất bản giao diện tuỳ chỉnh dưới dạng một phần của tiện ích bổ sung, hãy làm theo hướng dẫn kiểu để đảm bảo tính nhất quán với kiểu và bố cục của trình chỉnh sửa Google Trang tính.

Kết nối với Google Biểu mẫu

Apps Script cho phép bạn kết nối Google Biểu mẫu với Google Trang tính thông qua Biểu mẫu và Các dịch vụ của bảng tính. Tính năng này có thể tự động tạo biểu mẫu trên Google Biểu mẫu dựa trên dữ liệu trong bảng tính. Apps Script cũng cho phép bạn sử dụng điều kiện kích hoạt, chẳng hạn như onFormSubmit để thực hiện một hành động cụ thể sau khi người dùng trả lời biểu mẫu. Để tìm hiểu thêm về cách kết nối Google Trang tính với Google Biểu mẫu, hãy thử Quản lý Bắt đầu nhanh trong 5 phút để tạo câu trả lời cho Google Biểu mẫu.

Định dạng

Lớp Range có các phương thức như setBackground(color) để truy cập và sửa đổi định dạng của một ô hoặc dải ô. Nội dung sau đây ví dụ minh hoạ cách đặt kiểu phông chữ của một dải ô:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Xác thực dữ liệu

Apps Script cho phép bạn truy cập vào các quy tắc xác thực dữ liệu hiện có trong Google Trang tính hoặc tạo quy tắc mới. Ví dụ: mẫu sau đây trình bày cách đặt một quy tắc xác thực dữ liệu chỉ cho phép các số từ 1 đến 100 trên một ô.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Để biết thêm thông tin chi tiết về cách làm việc với quy tắc xác thực dữ liệu, hãy xem SpreadsheetApp.newDataValidation()! DataValidationBuilder, và Range.setDataValidation(rule)

Bảng xếp hạng

Apps Script cho phép bạn nhúng biểu đồ vào một bảng tính để biểu diễn dữ liệu trong một phạm vi cụ thể. Ví dụ sau đây sẽ tạo một biểu đồ thanh được nhúng, giả sử bạn có dữ liệu có thể lập biểu đồ trong ô A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Để tìm hiểu thêm về cách nhúng biểu đồ vào bảng tính của bạn, xem EmbeddedChart và một số trình tạo biểu đồ cụ thể, chẳng hạn như EmbeddedPieChartBuilder.

Hàm tuỳ chỉnh trong Google Trang tính

Hàm tuỳ chỉnh tương tự như như =SUM(A1:A5), ngoại trừ việc bạn định nghĩa hoạt động của hàm bằng Apps Script. Ví dụ: bạn có thể tạo một báo cáo tuỳ chỉnh hàm in2mm() chuyển đổi một giá trị từ inch sang milimet, sau đó sử dụng công thức trong bảng tính bằng cách nhập =in2mm(A1) hoặc =in2mm(10) vào ô.

Để tìm hiểu thêm về các hàm tuỳ chỉnh, hãy thử Trình đơn và hàm tuỳ chỉnh Bắt đầu nhanh trong 5 phút hoặc xem xét những thông tin chuyên sâu hơn hướng dẫn về hàm tuỳ chỉnh.

Macro

Macro là một cách khác để thực thi mã Apps Script trong giao diện người dùng Google Trang tính. Không giống như các hàm tuỳ chỉnh, bạn kích hoạt chúng bằng phím tắt hoặc thông qua trình đơn Google Trang tính. Để biết thêm thông tin, hãy xem Macro Google Trang tính.

Tiện ích bổ sung dành cho Google Trang tính

Tiện ích bổ sung là các Apps Script được đóng gói đặc biệt các dự án chạy bên trong Google Trang tính và có thể cài đặt được từ cửa hàng tiện ích bổ sung Google Trang tính. Trường hợp bạn đã phát triển một tập lệnh cho Google Trang tính và muốn chia sẻ mã này với mọi người, Apps Script giúp bạn xuất bản tập lệnh của bạn dưới dạng để người dùng khác có thể cài đặt tiện ích bổ sung đó từ cửa hàng tiện ích bổ sung.

Điều kiện kích hoạt

Những tập lệnh được liên kết với một tệp Google Trang tính có thể sử dụng điều kiện kích hoạt đơn giản như các hàm onOpen()onEdit() để tự động phản hồi khi người dùng chỉnh sửa truy cập vào bảng tính sẽ mở hoặc chỉnh sửa bảng tính.

Giống như các yếu tố kích hoạt đơn giản, điều kiện kích hoạt có thể cài đặt cho phép Google Trang tính tự động chạy một hàm khi một sự kiện nhất định xảy ra. Có thể cài đặt tuy nhiên, trình kích hoạt linh hoạt hơn so với trình kích hoạt và hỗ trợ đơn giản các sự kiện sau: mở, chỉnh sửa, thay đổi, gửi biểu mẫu và định hướng thời gian (đồng hồ).