Показать сообщение отдельно
Старый 29.04.2009, 13:05   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Поскольку задача вывода отчетов в Excel все-таки возникает достаточно часто, предыдущие наработки были доведены до ума, в результате чего "канал вывода в Excel" стал более функциональным, а кроме того, появился некий скелет отчета, собирающего данные на сервере и затем использующего этот канал вывода для создания Excel-файла на клиенте, в т.ч. на несколько листов.
Одной из "заковырок" вывода данных в Excel через ADO.Recordset является возникающая порой необходимость как-то избавиться от "незначащих" значений (в основном нулей и дат datenull()) - эта задача и возможные решения, в частности, обсуждаются в исходной теме, благодаря которой и появились эти классы. В доработанном классе вывода в Excel эта задача также была решена, правда, несколько иначе: при необходимости в той или иной колонке табличных данных производится замена средствами самого Excel "незначащих" значений на то, что возвращает COMVariant::createNoValue().

PS. Проект приведен для DAX3
Вложения
Тип файла: zip DEV_ExcelReportViaChannel.zip (10.3 Кб, 185 просмотров)
За это сообщение автора поблагодарили: NataLee (1), Roman N. Krivov (1).