.txt에 다른 행 내용 추가
Nov 15 2020
행의 내용을 .txt로 내보내고 =를 입력하는 스크립트를 작업해야했지만 이제 스크린 샷에 표시되는 것처럼 다른 행의 내용을 .txt에 추가 할 수있는 방법을 알고 싶습니다. .

이것은 내가 현재 가지고 있지만 제대로 작동하지 않는 코드입니다.
function exporttotxt() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var range = sheet.getRange('G3:G' + sheet.getLastRow());
var rows = range.getValues().filter(([g]) => g.toString() != "");
var range2 = sheet.getRange('I3:I' + sheet.getLastRow());
var rows2 = range2.getValues().filter(([i]) => i.toString() != "");
var fileName="exported.txt";
var folderName="Videos";
var data = rows.splice(0);
var data2 = rows2.splice(0);
var str = data.map(function(e) {return e.join()}).join("=") + "=" + data2.map(function(e) {return e.join()}).join("\n");
var content = str;
// get list of folders with matching name
var folderList = DriveApp.getFoldersByName(folderName);
if (folderList.hasNext()) {
// found matching folder
var folder = folderList.next();
// search for files with matching name
var fileList = folder.getFilesByName(fileName);
if (fileList.hasNext()) {
// found matching file - append text
var file = fileList.next();
var combinedContent = content;
file.setContent(combinedContent);
}
else {
// file not found - create new
folder.createFile(fileName, content);
}
}
}
답변
2 Tanaike Nov 15 2020 at 22:08
나는 당신의 목표를 다음과 같이 믿습니다.
- 열 "G"와 "I"의 값을 병합하여 텍스트를 작성하려고합니다.
귀하의 상황에서 "G"및 "I"열에서 값을 하나씩 검색하는 것은 getValues
어떻습니까? 이로 인해 프로세스 비용이 낮아지고 스크립트가 약간 간단 해집니다. 이것을 스크립트에 반영하면 다음과 같이됩니다.
에서:
var range = sheet.getRange('G3:G' + sheet.getLastRow());
var rows = range.getValues().filter(([g]) => g.toString() != "");
var range2 = sheet.getRange('I3:I' + sheet.getLastRow());
var rows2 = range2.getValues().filter(([i]) => i.toString() != "");
var fileName="exported.txt";
var folderName="Videos";
var data = rows.splice(0);
var data2 = rows2.splice(0);
var str = data.map(function(e) {return e.join()}).join("=") + "=" + data2.map(function(e) {return e.join()}).join("\n");
var content = str;
에:
var range = sheet.getRange('G3:I' + sheet.getLastRow());
var rows = range.getValues().filter(([g, _, i]) => g.toString() != "" && i.toString() != "");
var fileName="exported.txt";
var folderName="Videos";
var data = rows.splice(0);
var str = data.map(([g, _, i]) => `${g}=${i}`).join("\n");
var content = str;