Показать сообщение отдельно
Старый 21.01.2021, 14:46   #14  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
Оно когда начинает работу, в initSectionsMap() вычитывает все диапазоны в память. Затем прям в шаблонный диапазон вставляет данные, то есть положение диапазона в который идёт вставка не меняется в процессе работы, зато его не надо пересчитывать. Правда надо всегда заполнять все ячейки, иначе может остаться "старое" значение. Раз положение не меняется, действительно не совсем понятно зачем копировать ячейки, единственно зачем это может быть нужно для "размножения" ячеек по горизонтали, как например, сделано в отчётах по налоговым регистрам, кажется метод называется multiplyCell.
Дальше заполненный шаблон целиком добавляется в target sheetData, который в начале пустой. Если бы он был не пустой то приходилось бы в процессе пересчитывать номера ячеек расположенных ниже, что сильно медленно. То есть чтобы заполнялся второй лист надо только его наличие и как то указать его, может быть что-то с шириной колонок нового листа проблема(может быть его надо не просто добавлять а копировать с исходного как-то?). Вроде бы подход Владимира должен быть правильный.