Как скопировать более 1000 строк в новый лист Google? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть некоторый код, который извлекает диапазон данных из исходного листа в другой файл и копирует его на новый лист в текущем файле. Раньше он работал, но теперь, когда исходный диапазон превышает 1000 строк, копирование завершается с ошибкой полностью и без ошибок (копирование не происходит, и код перемещается). Кажется, что это потому, что мой целевой лист содержит только 1000 строк и попытка скопировать что-то большее, чем это приводит к сбою.

«Стенограмма выполнения» не дает мне никакого представления о том, почему это не удается. В качестве теста я сократил исходные данные до менее 1000 строк, и он снова заработал.

Часть моего кода, который копирует диапазон, такова:

// COPY DATA FROM SOURCE SPREADSHEET TO TEMP SHEET IN ACTIVE SPREADSHEET  
var SRange = source_s.getDataRange();      
var A1Range = SRange.getA1Notation();  
var SData = SRange.getValues();  
temp_s.getRange(A1Range).setValues(SData);  

temp_s - это лист назначения. source_s - исходный лист.

Я полагаю, что любое из двух решений могло бы работать, чтобы я мог скопировать более 1000 строк на лист назначения:

  1. Используйте функцию копирования типа, которая автоматически изменяет размер листа для обработки размера диапазона, или
  2. Найдите способ увеличить размер листа до копирования, аналогично функции «Добавить еще 1000 строк внизу», которую вы обычно видите внизу листа Google.

1 Ответ

0 голосов
/ 27 июня 2019

Я разместил это в качестве комментария, но, вероятно, он тоже должен идти в качестве ответа.

Я объявил диапазон на листе назначения просто "A:J", который выберетвсе строки для этих двух столбцов.Это фактически сделало это A1:J1000.Это работает, если ваш источник меньше 1000 строк, но если источник больше целевого, он завершается ошибкой.

ДЛЯ РЕШЕНИЯ ЭТОГО Я нашел последнюю строку исходных данных, используя lastrow = source_s.getLastRow(), а затем назвал мой целевой диапазон как "A1:+J"+lastrow.Копия сработала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...