|  07.10.2022, 12:45 | #1 | 
| Участник | Динамическая разбивка Excel-отчета по листам 
			
			Коллеги, подскажите - есть ли какое-то решение для разбиения XLS-отчета по листам с условием  1) "не разбивать некий блок строк на 2 листа" 2) "высота блока - динамическая" ? Пока на ум приходит только решение в лоб: при создании отчета (через OXML) запоминать границы этих выводимых блоков, а потом через COM перебирать весь отчет, проверять фактическую высоту и, при необходимости, вставлять разрыв страницы. Но как-то очень уж кустарно выходит. | 
|  | 
|  07.10.2022, 14:44 | #2 | 
| Участник | 
			
			Готового решения - нет. Нужно двигать (удалять/вставлять) каждый неправильно расположенный разрыв страницы. Единственное что я бы предложил при выводе отчёта как-то маркировать такие наборы строк, которые нельзя разрывать. Например делать напротив таких строк в отдельном столбце вертикальное объединения ячеек. И потом не считать высоту, а просто проверять какие из переносов попали на эти блоки и сдвигать эти переносы в начало блока | 
|  | 
|  07.10.2022, 15:43 | #3 | 
| Участник | 
			
			Высота строки динамическая?
		 | 
|  | 
|  07.10.2022, 16:53 | #4 | 
| Участник | |
|  | 
|  07.10.2022, 16:54 | #5 | 
| Участник | Цитата: 
		
			 И потом не считать высоту, а просто проверять какие из переносов попали на эти блоки и сдвигать эти переносы в начало блока
		
	 | 
|  | 
|  07.10.2022, 17:25 | #6 | 
| Участник | 
			
			На сколько я помню автоматические переносы, следующие после ручных, автоматически пересчитываются. Главное ручные переносы вставлять последовательно идя по документу сверху вниз
		 | 
|  | |
| За это сообщение автора поблагодарили: Pandasama (2). | |
|  07.10.2022, 23:16 | #7 | 
| Microsoft Dynamics | Цитата: 
		
			Сообщение от Pandasama
			   Коллеги, подскажите - есть ли какое-то решение для разбиения XLS-отчета по листам с условием  1) "не разбивать некий блок строк на 2 листа" 2) "высота блока - динамическая" ? Пока на ум приходит только решение в лоб: при создании отчета (через OXML) запоминать границы этих выводимых блоков, а потом через COM перебирать весь отчет, проверять фактическую высоту и, при необходимости, вставлять разрыв страницы. Но как-то очень уж кустарно выходит. | 
|  |