Câu hỏi:

viết code app script xuất dữ liệu trên app sheet gồm năm cột và nhiều hàng sang file docs mẫu và lưu ở dạng pdf sau dó gọp lại và mở lên


Này người anh em, việc chuyển dữ liệu từ AppSheet sang Google Docs và sau đó lưu thành PDF đòi hỏi một chút kỹ thuật trong Google Apps Script. Qua sẽ hướng dẫn các bước chi tiết cho người anh em.

Bước 1: Thiết lập Google Sheets và AppSheet

  1. Tạo một bảng Google Sheets chứa dữ liệu từ AppSheet.
  2. Cấp quyền truy cập cho App Script đối với Google Sheets và Google Docs.

Bước 2: Tạo Google Docs Mẫu

  1. Tạo một file Google Docs mẫu với định dạng mà người anh em mong muốn.
  2. Đặt các placeholders trong file như {{Column1}}, {{Column2}}, v.v. để biểu diễn các cột từ Google Sheets.

Bước 3: Viết Google Apps Script

Dưới đây là một script mẫu để xuất dữ liệu từ Google Sheets sang Google Docs và lưu thành PDF sau đó.

function exportDataToDocsAndPdf() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var docTemplateId = 'TEMPLATE_DOC_ID'; // Thay bằng ID của Google Docs mẫu
  var folderId = 'FOLDER_ID'; // Thay bằng ID của thư mục Google Drive để lưu file PDF

  for (var i = 1; i < data.length; i++) {  // Bỏ qua hàng tiêu đề
    var copyTemplate = DriveApp.getFileById(docTemplateId).makeCopy();
    var doc = DocumentApp.openById(copyTemplate.getId());
    var body = doc.getBody();

    // Thay thế các placeholder bằng dữ liệu từ Google Sheets
    body.replaceText('{{Column1}}', data[i][0]);
    body.replaceText('{{Column2}}', data[i][1]);
    body.replaceText('{{Column3}}', data[i][2]);
    body.replaceText('{{Column4}}', data[i][3]);
    body.replaceText('{{Column5}}', data[i][4]);

    doc.saveAndClose();

    // Chuyển đổi Google Doc sang PDF
    var pdf = DriveApp.getFileById(copyTemplate.getId()).getAs('application/pdf');
    var newFileName = 'ExportedData_' + (i) + '.pdf';
    var folder = DriveApp.getFolderById(folderId);
    folder.createFile(pdf).setName(newFileName);

    // Xóa bản sao của Google Doc
    DriveApp.getFileById(copyTemplate.getId()).setTrashed(true);
  }

  // Mở file PDF đầu tiên
  var files = folder.getFilesByName('ExportedData_1.pdf');
  if (files.hasNext()) {
    var file = files.next();
    var url = 'https://drive.google.com/file/d/' + file.getId() + '/view';
    Logger.log('Xem file PDF ở đây: ' + url);
  }
}

Bước 4: Chạy Script và Kiểm tra Kết Quả

  1. Lưu script của người anh em trong Google Apps Script Editor.
  2. Chạy script và kiểm tra thư mục Google Drive để thấy các file PDF đã được tạo.

Người anh em có thể tùy chỉnh template file và các cột dữ liệu theo yêu cầu cụ thể. Điều này sẽ giúp tự động hóa quá trình xuất báo cáo từ AppSheet một cách hiệu quả. Đừng quên ghé thăm trituenhantao.io để tìm hiểu thêm các kiến thức hữu ích về AI và công nghệ.


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử