Tập lệnh google sheet chậm
Sử dụng các thao tác JavaScript trong tập lệnh của bạn nhanh hơn đáng kể so với việc gọi các dịch vụ khác. Bất cứ điều gì bạn có thể thực hiện trong chính Google Apps Script sẽ nhanh hơn nhiều so với việc thực hiện các cuộc gọi cần tìm nạp dữ liệu từ máy chủ của Google hoặc máy chủ bên ngoài, chẳng hạn như các yêu cầu đối với Bảng tính, Tài liệu, Trang web, Dịch, Tìm nạp url, v.v. Tập lệnh của bạn sẽ chạy nhanh hơn nếu bạn có thể tìm cách giảm thiểu các cuộc gọi mà tập lệnh thực hiện đối với các dịch vụ đó Show
Cân nhắc cộng tác với bộ nhớ dùng chungNếu bạn đang làm việc trên một dự án kịch bản với các nhà phát triển khác, bạn có thể. Các tệp trong bộ nhớ dùng chung thuộc sở hữu của nhóm chứ không phải cá nhân. Điều này làm cho việc phát triển và bảo trì dự án dễ dàng hơn Sử dụng hoạt động hàng loạtCác tập lệnh thường cần đọc dữ liệu từ bảng tính, thực hiện các phép tính và sau đó ghi kết quả của dữ liệu vào bảng tính. Google Apps Script đã có một số tối ưu hóa tích hợp sẵn, chẳng hạn như sử dụng bộ nhớ đệm nhìn trước để truy xuất nội dung mà tập lệnh có thể nhận được và ghi vào bộ nhớ đệm để lưu nội dung có thể được đặt Bạn có thể viết tập lệnh để tận dụng tối đa bộ nhớ đệm tích hợp, bằng cách giảm thiểu số lần đọc và ghi. Các lệnh đọc và ghi luân phiên bị chậm. Để tăng tốc tập lệnh, hãy đọc tất cả dữ liệu vào một mảng bằng một lệnh, thực hiện bất kỳ thao tác nào trên dữ liệu trong mảng và ghi dữ liệu ra ngoài bằng một lệnh Đây là một ví dụ — một ví dụ bạn không nên làm theo hoặc sử dụng. Tập lệnh sử dụng đoạn mã sau để đặt màu nền của mọi ô trong lưới bảng tính 100 x 100. Nó sử dụng như hàm có tên là
Kịch bản không hiệu quả. nó lặp qua 100 hàng và 100 cột, ghi liên tiếp vào 10.000 ô. Bộ đệm ghi lại Google Apps Script hữu ích vì nó buộc ghi lại bằng cách xóa ở cuối mỗi dòng. Do bộ nhớ đệm, chỉ có 100 cuộc gọi đến Bảng tính Nhưng mã có thể được thực hiện hiệu quả hơn nhiều bằng cách gộp các cuộc gọi. Đây là cách viết lại trong đó phạm vi ô được đọc thành một mảng có tên là màu sắc, thao tác gán màu được thực hiện trên dữ liệu trong mảng và các giá trị trong mảng được ghi ra bảng tính
Mã không hiệu quả mất khoảng 70 giây để chạy. Mã hiệu quả chạy chỉ trong 1 giây Tránh các thư viện trong các tập lệnh nặng về giao diện người dùngThư viện là một cách thuận tiện để sử dụng lại mã, nhưng chúng làm tăng một chút thời gian để bắt đầu tập lệnh. Độ trễ này không đáng chú ý đối với các tập lệnh chạy tương đối dài (chẳng hạn như tập lệnh tiện ích để dọn sạch các tệp Google Drive của bạn), nhưng đối với các giao diện người dùng Dịch vụ HTML phía máy khách thực hiện các lệnh gọi Sử dụng dịch vụ Bộ đệmBạn có thể sử dụng Dịch vụ bộ đệm để lưu trữ tài nguyên giữa các lần thực thi tập lệnh. Bằng cách lưu trữ dữ liệu vào bộ đệm, bạn có thể giảm số lần hoặc tần suất bạn phải tìm nạp dữ liệu. Xem xét tình huống bạn có nguồn cấp dữ liệu RSS chẳng hạn. com mất 20 giây để tìm nạp và bạn muốn tăng tốc độ truy cập theo yêu cầu trung bình. Ví dụ dưới đây cho thấy cách sử dụng Dịch vụ bộ đệm để tăng tốc độ truy cập vào dữ liệu này
Bây giờ, mặc dù bạn vẫn phải đợi 20 giây nếu mục không có trong bộ đệm, nhưng các lần truy cập tiếp theo sẽ rất nhanh cho đến khi mục đó hết hạn trong bộ đệm sau 25 phút Tại sao tập lệnh trang tính của Google quá chậm?Nếu mã trong Tập lệnh ứng dụng thường xuyên tương tác với các ứng dụng của google trong khi thực thi mã (chẳng hạn như thường xuyên viết qua lại bảng tính google), thì trong trường hợp đó, mã .
Bạn có thể chạy tập lệnh trong Google Trang tính không?Google Apps Script cho phép bạn thực hiện những điều mới mẻ và thú vị với Google Trang tính . Bạn có thể sử dụng Apps Script để thêm menu, hộp thoại và thanh bên tùy chỉnh vào Google Trang tính. Nó cũng cho phép bạn viết các chức năng tùy chỉnh cho Trang tính cũng như tích hợp Trang tính với các dịch vụ khác của Google như Lịch, Drive và Gmail.
Tại sao tập lệnh Google của tôi không hoạt động?Có một vài nguyên nhân có thể gây ra những lỗi này. Máy chủ hoặc hệ thống của Google tạm thời không khả dụng . Đợi một lúc và thử chạy lại tập lệnh. Có lỗi trong tập lệnh của bạn không có thông báo lỗi tương ứng. |