And because I kept you waiting so long there's one goody included.
Added Features
- The Interactive Report region ID is now automatically derived if not specified or set NULL.
- Function get_version which emits the package release you are running.
Bugs Fixed
- Column header wasn't filled if user didn't give a custom name for a function column in "Group By" view.
Now the package puts similar names to what the APEX engine generates.
New Demo Application
There is also a new demo application available for download.
You can download it here and install into your own APEX workspace.
Thanks for sharing.
ReplyDeleteThis package has been very helpful to me.
Love it, easy to use, much faster than another Excel download solution I tried.
ReplyDeleteThe demo application does just what one hopes for! When I get this to work in our application, it will be well received by my users. I have tried two other solutions that were too inconsistent to use.
ReplyDeleteHi Moritz Klein,
ReplyDeleteI use variables into IR report name &P_XX.
Here is my contribution:
APEXIR_XLSX_PKG include function APEXIR_XLSX_REPORT_NAME
...
END transform_rpt_cols;
BEGIN
/* Could raise no data found. Check out why... */
SELECT
v('APEXIR_COMPANY_TITLE')|| ' ' ||
CASE
WHEN rpt.report_name IS NOT NULL THEN
APEXIR_XLSX_REPORT_NAME(ir.application_id,ir.page_id,ir.region_name) ||
' - ' || rpt.report_name
ELSE
ir.region_name
END report_title
...
/**
* Convert variables in Report Name.
*/
FUNCTION APEXIR_XLSX_REPORT_NAME (ir_application_id in NUMBER,ir_page_id in NUMBER,ir_region_name in VARCHAR2)
RETURN VARCHAR2
AS
vREPORT_NAME VARCHAR2(32767);
BEGIN
vREPORT_NAME := ir_region_name;
FOR APITS IN (select * from
APEX_APPLICATION_PAGE_ITEMS
where
APPLICATION_ID = ir_application_id and
PAGE_ID = ir_page_id and
instr(ir_region_name,ITEM_NAME) > 0)
LOOP
vREPORT_NAME := REPLACE (vREPORT_NAME, '&'||APITS.ITEM_NAME||'.', V(''||APITS.ITEM_NAME||'') );
END LOOP;
RETURN vREPORT_NAME;
END APEXIR_XLSX_REPORT_NAME;