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() {
// Lấy dữ liệu từ Sheet
var sheetId = '[SHEET_ID]';
var range = 'A1:B10';
var spreadsheet = SpreadsheetApp.openById(sheetId);
var data = spreadsheet.getSheetByName('Sheet1').getRange(range).getValues();
// Tạo folder để lưu các file .jsp
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);
}
// Tạo và lưu các file .jsp vào folder JSPFiles
data.forEach(function (row, index) {
var content = row.join('\n');
var fileName = 'file' + (index + 1) + '.jsp';
folder.createFile(fileName, content, MimeType.PLAIN_TEXT);
});
// Tạo file zip từ các file .jsp trong folder JSPFiles
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);
// Tải file zip về
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:
// Hàm chính để chạy chương trình
function main() {
// ID của Google Sheet
var sheetId = 'YOUR_SPREADSHEET_ID';
// Tên của sheet cần lấy dữ liệu
var sheetName = 'Sheet1';
// Vùng ô muốn lấy dữ liệu dưới dạng A1 notation, ví dụ: A1:C10
var rangeNotation = 'A1:C10';
// Lấy nội dung của các ô
var values = getRangeValues(sheetId, sheetName, rangeNotation);
// In ra nội dung trong Logger
Logger.log(values);
}
// Hàm lấy nội dung của nhiều ô
function getRangeValues(sheetId, sheetName, rangeNotation) {
// Mở Google Sheet theo ID
var spreadsheet = SpreadsheetApp.openById(sheetId);
// Lấy sheet cần lấy dữ liệu
var sheet = spreadsheet.getSheetByName(sheetName);
// Lấy vùng ô cần lấy dữ liệu
var range = sheet.getRange(rangeNotation);
// Lấy nội dung vùng ô
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.