googlesheet의 데이터를 사용하여 템플릿에서 문서를 만들려고합니다. 코드 라인 6에 정의되지 않은 '길이'와 같은 오류가 발생합니다.이 문제를 어떻게 해결할 수 있습니까?
function createDocument() {
var headers = Sheets.Spreadsheets.Values.get('1u19od0kZjo2AoVNT6xADPbRZYNCPSYASJYhQrVWT6Hk', 'A1:U1');
var data = Sheets.Spreadsheets.Values.get('1u19od0kZjo2AoVNT6xADPbRZYNCPSYASJYhQrVWT6Hk', 'A2:U');
var templatedoc = '1LufBNP3BUCU2az_pvwNiOUicsIp7c3H1jRvNgjUuJJQ';
***for(var i = 0; i < data.values.length; i++){***
var supplier = data.values[i][0];
var documentId = DriveApp.getFileById(templateId).makeCopy().getId();
DriveApp.getFileById(documentId).setName('Coaching' );
var body = DocumentApp.openById(documentId).getBody();
body.replaceText('##ctrl no##', "ctrl")
parseTactics(headers.values[0], data.values[i], body);
}
}
function parseTactics(headers, data, body){
for(var i = 1; i < data.length; i++){
{data[i] != '' &&
body.appendListItem(headers[i] + ' | ' + data[i] + ' net').setGlyphType(DocumentApp.GlyphType.BULLET);
}
}
}
문제를 재현 할 수있었습니다 TypeError: Cannot read property 'length' of undefined
. Sheets.Spreadsheets.Values.get ()을 사용하여 빈 범위를 읽으려고 할 때마다이 오류가 발생합니다 . data.values
빈 후행 행과 열이 생략되므로 null로 설정됩니다. 기본 읽기 보기
내용을 확인 data.values
하기 전에이 null인지 먼저 확인하십시오.
if(data.values != null){
for(var i = 0; i < data.values.length; i++){
var supplier = data.values[i][0];
var documentId = DriveApp.getFileById(templateId).makeCopy().getId();
DriveApp.getFileById(documentId).setName('Coaching' );
var body = DocumentApp.openById(documentId).getBody();
body.replaceText('##ctrl no##', "ctrl")
parseTactics(headers.values[0], data.values[i], body);
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다