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 перебирать весь отчет, проверять фактическую высоту и, при необходимости, вставлять разрыв страницы. Но как-то очень уж кустарно выходит. |
|