dexcel - промежуточные итоги

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 252
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 16 раз

dexcel - промежуточные итоги

Сообщение SergioRaguzini »

Привет Всем!
До сих пор для экспорта данных из browse в Excel использую библиотеку Олега Руденко dexcel.
Если кто помнит эту замечательную быструю библиотеку, прошу совета (или кусок кода) как в процессе выполнения XLS.Write:Table(Queue:XLS) сделать так, чтобы в выходном excel-файле появились "промежуточные итоги"
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5234
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 64 раза

dexcel - промежуточные итоги

Сообщение finsoftrz »

Привет, Сергей. Что такое "промежуточные итоги"?
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 252
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 16 раз

dexcel - промежуточные итоги

Сообщение SergioRaguzini »

finsoftrz писал(а): 07 Август 2024, 13:41 ...Что такое "промежуточные итоги"?...
Вячеслав, Приветствую!
Например, есть некая упорядоченная (отсортированная по id-магазинов) таблица данных некой торговой организации. При выводе необходимо вычислить итоги (это и есть "промежуточные") по магазину (GroupFooter), далее идет(-ут) следующие магазины со своими итогами и в конце общий итог по организации.
Как делать в dexcel общие итоги, а вот как вставить "промежуточные" не пойму
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5234
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 64 раза

dexcel - промежуточные итоги

Сообщение finsoftrz »

Сорвалось.
Последний раз редактировалось finsoftrz 09 Август 2024, 9:04, всего редактировалось 1 раз.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5234
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 64 раза

dexcel - промежуточные итоги

Сообщение finsoftrz »

Я помешаю итоги в общую очередь со строками. Чтобы отличать, используется байтовое поле typeRec, которое обычно принимает значение 0 - заголовок группы, 1 - строка, 2 - итого по группе, 3 - общий итог. Для вложенных подгрупп есть ещё поле level, в которое помещается номер уровня, а визуально это отображается добавлением многоточия перед названием подгруппы. Иногда, но редко, бывает встраивание одной таблицы в другую, в этом случае typeRec принимает несколько другие значения. В таком виде все выводится в LIST контрол на экран, и его можно экспортировать в Excel как есть (с сохранением ширины колонок, фильтров и т.п.) через dexcel и специальный шаблон. Шаблон экспортирует содержимое LIST построчно. В самом dexcel я делал небольшую доработку, введя стиль для отображения заголовков и итогов, который bold.
Эта схема работает хорошо и покрывает основные задачи. Размещение данных предварительно на экране позволяет организовывать итерактивную работу с ними.

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

В общем, резюмируя, если просто выводить в эксель, то надо делать это не одним методом, а построчно. Тогда можно вклинить строки с промежуточный итогами, их стилизацию.
C6/C12, ШВС, tps/btrieve.
Ответить