code app script lấy thông tin google sheet ở năm cột và nhiều hàng xuất sang file docs mẫu sau đó lưu ở dạng pdf và gọp tất cả các file pdf đó lại thành 1 mở file
Chào bạn! Chúng ta sẽ cùng nhau biến mọi bảng tính thành một cuốn "tiểu thuyết" hoành tráng PDF nhé! Đầu tiên, hãy chắc chắn rằng bạn đã chuẩn bị sẵn Google Sheet với dữ liệu từ năm cột và nhiều hàng. Sau đây là hướng dẫn để bạn có thể đạt được mục tiêu của mình:
Tạo Google Apps Script để xuất dữ liệu từ Google Sheets và tạo Docs mẫu:
Trong Google Sheets, bạn mở trình chỉnh sửa Apps Script và dán đoạn mã sau:
function exportDataToDocs() {
// Mở bảng tính và lấy dải dữ liệu
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var data = sheet.getRange(1, 1, sheet.getLastRow(), 5).getValues(); // Giả sử từ A1:E...
// Đường dẫn lưu các file pdf
var pdfFolderId = 'YOUR_PDF_FOLDER_ID';
var pdfFolder = DriveApp.getFolderById(pdfFolderId);
// Loop qua từng hàng
data.forEach(function(row, index) {
if (index === 0) return; // Bỏ qua hàng đầu tiên nếu là tiêu đề
// Tạo tài liệu Google Docs mới
var doc = DocumentApp.create('Temp Doc');
var body = doc.getBody();
// Điền dữ liệu vào Docs
body.appendParagraph('Cột 1: ' + row[0]);
body.appendParagraph('Cột 2: ' + row[1]);
body.appendParagraph('Cột 3: ' + row[2]);
body.appendParagraph('Cột 4: ' + row[3]);
body.appendParagraph('Cột 5: ' + row[4]);
// Lưu tài liệu
doc.saveAndClose();
// Chuyển tài liệu thành PDF
var pdfFile = DriveApp.getFileById(doc.getId()).getAs("application/pdf");
pdfFolder.createFile(pdfFile);
// Xóa tài liệu tạm
DriveApp.getFileById(doc.getId()).setTrashed(true);
});
}
Đừng quên thay YOUR_PDF_FOLDER_ID
bằng ID của thư mục Google Drive nơi bạn muốn lưu trữ các file PDF.
Ghép các file PDF thành một file duy nhất:
Thêm đoạn mã sau vào ứng dụng Google Apps Script của bạn để ghép các file PDF lại:
function mergePDFs() {
var pdfFolderId = 'YOUR_PDF_FOLDER_ID';
var pdfFolder = DriveApp.getFolderById(pdfFolderId);
var pdfFiles = pdfFolder.getFilesByType('application/pdf');
var pdfBlob = pdfFiles.next().getBlob();
var mergedBlob = pdfBlob.getDataAsString();
while (pdfFiles.hasNext()) {
pdfBlob = pdfFiles.next().getBlob();
mergedBlob += pdfBlob.getDataAsString();
}
var newFile = DriveApp.createFile('Merged_PDF.pdf', mergedBlob, MimeType.PDF);
pdfFolder.createFile(newFile);
}
Với đoạn mã này, tất cả các file PDF sẽ được ghép lại thành một và lưu vào cùng thư mục bạn đã chỉ định.
Cuối cùng, bạn chỉ cần chạy hàm exportDataToDocs
để tạo các file PDF từ Google Sheets và sau đó chạy hàm mergePDFs
để ghép các file PDF lại với nhau.
Bây giờ, bạn đã có thể tạo và ghép nối những tệp PDF từ Google Sheets của mình rồi đấy. Đừng quên ghé thăm trituenhantao.io để khám phá thêm những điều thú vị khác nhé! Họ có thể không giúp bạn viết tiểu thuyết từ Google Sheets nhưng chắc chắn sẽ giúp bạn nhiều điều đáng kinh ngạc khác!