"EhLib.Com"
https://forum.ehlib.com/ru/

Количество строк в заголовке при ExportDBGridEhToXlsx
https://forum.ehlib.com/ru/viewtopic.php?f=4&t=3290
Страница 1 из 1

Автор:  Ampi [ 22 дек 2022, 12:21 ]
Заголовок сообщения:  Количество строк в заголовке при ExportDBGridEhToXlsx

Доброго времени!

Подскажите, пожалуйста, как можно быстро определить сколько строк в экселе занято под заголовки столбцов после использования ExportDBGridEhToXlsx и Grid.TitleParams.MultiTitle = true?

Узнать количество строк нужно уже после завершения формирования файла. Мне необходимо экспортировать в эксель также столбец с картинками (поле blob). Я открываю созданный файл и добавляю туда эти картинки в виде объектов, растягивая строки под нужный размер картинки. Но не могу угадать, с какой строки начинаются данные, сколько строк занимает заголовок таблицы.

Автор:  ADSoft [ 22 дек 2022, 15:46 ]
Заголовок сообщения:  Re: Количество строк в заголовке при ExportDBGridEhToXlsx

Похоже, что готового решения нет, т.к. DBGridEh.TitleLines (оно же DBGridEh.TitleParams.RowLines) только задаёт "Высоту заголовка в строках текста".
Поэтому, решение видится таким: после построения сетки пробежать по заголовкам её колонок и вычислить максимальное количество разделителей "|" на одну колонку + 1.

Автор:  Ampi [ 23 дек 2022, 18:35 ]
Заголовок сообщения:  Re: Количество строк в заголовке при ExportDBGridEhToXlsx

ADSoft писал(а):
Поэтому, решение видится таким: после построения сетки пробежать по заголовкам её колонок и вычислить максимальное количество разделителей "|" на одну колонку + 1.


Такой вариант мне тоже приходил в голову, я пробовал его реализовать, но он, к сожалению, не подходит. В одном сложном заголовке получилось строк на 2 больше количества разделителей, потому что в некоторых подзаголовках были переносы слов, которые и увеличивали количество строк.
Как вариант, можно в экселе пробежаться по строкам до конца таблицы и найти номер последней строки, после чего вычесть количество строк данных. Но это как-то не очень хорошо.

Страница 1 из 1 Часовой пояс: UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/