![]() |
#6 |
Участник
|
У Вас много лишних "телодвижений"
![]() X++: COM worksheets, sheet, rowTemplate, newRows; int curSheet; int curRow, numRows; worksheets = GridExcel.Worksheets(); // Сразу создаем нужное количество листов по образцу первого листа sheet = worksheets.Item(1); sheet.copy( sheet ); for (curSheet = 1; curSheet <= 2; curSheet++) { //выделем нужную строчку на шаблоне sheet = worksheets.Item(curSheet); curRow = 9; //подсчитываем кол-во необходимых для вставки строк select count(recid) from table1; numRows = table1.RecId; if (!numRows) { warning('Нет данных для вставки на листе ' + int2str(curSheet)); continue; } //вставляем строки newRows = sheet.Range(strfmt("%1:%2", curRow + 1,NumRows + curRow) ); //вставляем после выделенной строки newRows.Insert(); //копируем нужный формат rowTemplate = sheet.Range(strfmt("%1:%2", curRow, curRow) ); //откуда будем копировать форматирование rowTemplate.copy( newRows ); } // for (curSheet = 1; curSheet <= 2; curSheet++) PS: Для справки OWC SpreadSheet имеет предел в 32766 операций. Не важно каких. Например, не в состоянии вставить большее количество строк. У Вас какое значение numRows получается для второго листа?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 25.05.2014 в 18:38. |
|
Теги |
errors, spreadsheet |
|
|