나는 (이 스프레드 시트와 연관되지 않으며, 관련이없는 이유가 될 수 없음) 스프레드 시트를 읽는 가스 웹 응용 프로그램에서 일하고 있어요.속도까지 Google 웹 앱 스프레드 시트 로딩
나는 다음과 같이 범위 그 시트에로드하거나 :
var ss = SpreadsheetApp.openById(ssId);
dataSheet = ss.getSheetByName('Projects');
var data = dataSheet.getRange('A1:BL').getValues();
내가 테스트의 많은 일을하고, 내 가볍게 채워 A1로했습니다 BL5500 스프레드 시트를 (의 공정한 번호 셀에 수십 자의 텍스트가 채워짐)로드 시간은 약 6 초 정도 걸립니다. 명명 된 범위와 많은 것들을 시도했지만 그보다 빨리 가져올 수는 없습니다. 정말 필요한 것은
는 내가 필요로하는 행을 찾을 수있는 검색을 수행하고 내가 그 행을 필요 시트 1 열입니다. 그러나 1 열을로드하는 것은 전체를로드하는 것과 거의 동일한 시간이 걸립니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 지연은 문제가됩니다. 비교를 위해
SpreadsheetApp.openById(ssid) [0.174 seconds]
Spreadsheet.getSheetByName([Projects]) [0 seconds]
Sheet.getRange([A1:BL]) [0.387 seconds]
Range.getValues() [6.483 seconds]
, 여기에 하나의 열을로드하는 것 :
여기 타이밍 고장의
SpreadsheetApp.openById(ssid) [0.164 seconds]
Spreadsheet.getSheetByName([Projects]) [0 seconds]
Sheet.getRange([A1:A]) [0.336 seconds]
Range.getValues() [5.887 seconds]
이 단지 하나의 실행은, 시간 차이는 (그들은 다름) 중요하지 않다.
해결 방법 : 새로운 시트를 만들었습니다. 그 중 하나의 열은 검색해야하는 열과 같습니다. 나는 그것을로드. 검색을 완료하면 전체 시트에서 관련 행만로드합니다. 총 시간은 약 8 초에서 약 2 초가 걸릴 수 있습니다. – KeithKeithBoBeith
이 해결책을 답으로 추가하십시오. –
또한 ss의 게시 된 csv를 구문 분석하면 훨씬 빠르다는 것을 알았습니다. –