One Oracle stored procedure for Excel file creating without additional objects.
Excel file created from Oracle PL/SQL stored package.
Dynamical select with parameters and PL/SQL blocks.
All Oracle Reports triggers possibilities support without Oracle*Reports.
Excel file created from stored procedure in Excel XML, HTML, CSV, XML formats.
Predefine hint language for query parameters substitution and placeholders.
Excel file configuration parameters.
Few selects in one Excel file as worksheets.
Divide large file to few length limited files.
Excel output file: XML, HTML, CSV.


Predefine hints used in select statements
VAR/*! VAR CHAR|NUMBER|DATE|AS_IS [Date Format] {SQL expression} ; !*/
Define variable
BEFORE/*! BEFORE {PL/SQL block}; !*/
Execute PL/SQL block before query
AFTER/*! AFTER {PL/SQL block};!*/
Execute PL/SQL block after query
EXPR/*! EXPR CHAR|NUMBER|AS_IS {SQL expression};!*/
Put on this place expression result
IS_NULL/*! IS_NULL :parameter [{]string [}]; !*/
If :parameter is null put on this place {string}
IS_NOT_NULL/*! IS_NOT_NULL :parameter [{]string [}]; !*/
If :parameter is not null put on this place {string}
IIF_EXPR/*! IIF_EXPR [{] boolean expression [}] {string if TRUE} [{]string if FALSE [}]; !*/
If boolean expression is true put on this place {string if TRUE} else {string if FALSE}
TITLE/*! TITLE Columns count [{]Title [}]; !*/
Define super title for few columns
ALIAS/*! ALIAS FieldName [{]Alias [}]; !*/
Define column title different from column name
IF_CONTINUE/*! IF_CONTINUE [{SQL expression [}]; !*/
Check {SQL expression} and if one is not null to break execution
BOTTOM_SUM/*! BOTTOM_SUM [{] Total row title [}] B […]; !*/
Place summary formulas on bottom of columns
ROW_SUM/*! ROW_SUM [{] Total column title [}] A [B …]; !*/
Place summary formulas on end of row