2023-05-11 21:00:30
Human: Viết chương trình google app script để tải về máy tính nội dung nhiều ô trong google sheet được bỏ trong các tệp ".jsp" được nén trong 1 file zip
AI: Dưới đây là mã Google Apps Script để tải về nội dung của một số ô trong Google Sheet, sau đó đặt chúng vào các tệp .jsp và nén chúng vào một tệp zip. Chúng tôi sẽ sử dụng thư viện "ZipArchive" cho việc nén file zip. Hãy đi theo các bước sau để triển khai mã:
Bước 1: Cài đặt thư viện "ZipArchive"
- Mở Google Sheet.
- Truy cập vào menu "Extensions" -> "Apps Script".
- Trong trình chỉnh sửa Apps Script, chọn "Resources" -> "Libraries".
- Trong hộp "Add a library", nhập mã thư viện sau và nhấn "Add": 1Gzx1Ff-2SQ_62XNl6Uu4iEk4_XF0uyn7NhOY6Hwu0vdS_lAwmTsLa0zL
Bước 2: Thêm mã sau vào file "Code.gs" trong trình chỉnh sửa Apps Script:
function createZipFromSheet() {
var sheetId = '[SHEET_ID]';
var range = 'A1:B10';
var spreadsheet = SpreadsheetApp.openById(sheetId);
var data = spreadsheet.getSheetByName('Sheet1').getRange(range).getValues();
var folderName = 'JSPFiles';
var parentFolder = DriveApp.getRootFolder();
var folders = parentFolder.getFoldersByName(folderName);
var folder;
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = parentFolder.createFolder(folderName);
}
data.forEach(function (row, index) {
var content = row.join('\n');
var fileName = 'file' + (index + 1) + '.jsp';
folder.createFile(fileName, content, MimeType.PLAIN_TEXT);
});
var zipName = 'JSPFiles.zip';
var options = {
comment: 'Created by Google Apps Script',
};
var zipBlob = new ZipArchive.Zip()
.addFolder(folder.getId(), options)
.generate('blob', options);
zipBlob.setName(zipName);
var downloadUrl =
'https://docs.google.com/uc?export=download&id=' + zipBlob.getId();
Logger.log('Download URL: ' + downloadUrl);
}
Đảm bảo thay thế `[SHEET_ID]` thành ID thực của Google Sheet của bạn. Bạn cũng có thể chỉnh sửa biến 'range' để chọn các ô dữ liệu khác.
Bước 3: Chạy mã
- Trong trình chỉnh sửa Apps Script, hãy chọn hàm `createZipFromSheet` và nhấn nút "Run" (►) để chạy mã.
- Mở "View" -> "Logs" để xem URL tải xuống. Mở URL này trong trình duyệt để tải về tệp zip.
Lưu ý rằng thao tác này sẽ tạo các tệp .jsp trong Google Drive của bạn, nếu bạn không muốn giữ chúng, hãy xóa chúng sau khi tải xuống tệp zip.
2023-05-11 20:57:26
Human: Viết chương trình google app script để lấy nội dung nhiều ô trong google sheet t
AI: Để lấy nội dung của nhiều ô trong Google Sheets bằng Google Apps Script, bạn cần viết một chương trình như sau:
function main() {
var sheetId = 'YOUR_SPREADSHEET_ID';
var sheetName = 'Sheet1';
var rangeNotation = 'A1:C10';
var values = getRangeValues(sheetId, sheetName, rangeNotation);
Logger.log(values);
}
function getRangeValues(sheetId, sheetName, rangeNotation) {
var spreadsheet = SpreadsheetApp.openById(sheetId);
var sheet = spreadsheet.getSheetByName(sheetName);
var range = sheet.getRange(rangeNotation);
var values = range.getValues();
return values;
}
Trước khi chạy chương trình, hãy thay thế `'YOUR_SPREADSHEET_ID'` bằng ID của spreadsheet mà bạn muốn lấy dữ liệu, sau đó sửa `sheetName` và `rangeNotation` theo nhu cầu của bạn.
Khi chương trình chạy, nó sẽ lấy nội dung của các ô trong vùng chỉ định và ghi lại chúng trong Google Apps Script Logger. Bạn có thể xem kết quả bằng cách chọn "View" > "Logs" trong Google Apps Script.