[#] Создание Excel файла из селекта с параметрами при помощи чистого PL/SQL, как альтернатива Oracle*Reports
habrabot(difrex,1) — All
2015-07-24 16:30:02




#### Цели, которых я хотел достичь



* Excel, как результат селекта, текст которого процедура узнает только в runtime
* Селект перед выпонением видоизменяется в соответствии с параметрами, которые получает процедура
* Процедуре передаются параметры файла, который будет создан
* Возможность получения результирующего файла в форматах Excel Workbook,CSV,HTML,XML

Хранимая PL/SQL процедура получает в параметрах

* текст селекта
* параметры файла Excel
* параметры выполнения

и создает полноценный Excel с несколькими таблицами(sheets). Я знаю, что есть Crystal Reports и Oracle BI Publisher. Но, во-первых, это крупные продукты(с большими ценами...), а Publisher, насколько я знаю не работает как отдельный модуль без Oracle Business Intelligence Enterprise Edition. И кроме того, речь шла о довольно узкой задаче создания файла без layout. В конце, я написал один PL/SQL пакет, который находится в database и может быть вызван из любой аппликации. В ходе написания я столкнулся со многими ограничениями и хочу рассказать о том, как их поборол. Для тех — кто сомневается, я этого, конечно не мог знать заранее, но за несколько лет, что пакет работает в большой компании, у меня не было проблем свести RDF любой сложности, с многими триггерами/формулами, в один селект, хвала Ораклу. Наоборот, так как селект — стринговый параметр и его можно построить динамически, это дает большую гибкость. В параметрах можно задать даже имя таблицы. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/263323/#habracut