Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Export Dynamic table data to Excel (xlsx) in ADF

vijay dasariApr 18 2025

JdevV: Studio Edition Version 12.2.1.4.0

I have 25 dynamic result tables in my ADF application. All of them pull data from the same database table, but each has a different set of columns based on the user selection. So, I implemented a dynamic ADF table rendering approach to handle this.

Based on the user’s selection, the corresponding table is displayed on the UI. On the front end, we are currently limiting the results to 1,000 rows for performance reasons.

Now, there is a new requirement to export the full dataset to Excel — which can go up to 100,000 rows (per table). I need a way to export the full data efficiently without impacting performance or user experience.

My Request is:
What is the best approach to implement this Excel export feature in ADF for large datasets (up to 100k rows) while ensuring performance and minimizing memory/time issues?

If anyone has implemented something similar using Apache POI, streaming large data, or any batch export techniques in ADF, I'd appreciate examples or suggestions.

                   <af:table var="row" rowBandingInterval="0" id="t2" width="100%" columnStretching="multiple" autoHeightRows="10" scrollPolicy="page" first="10"  
                                     value="#{pageFlowScope.bamdashboardBean.selectedResultData}" summary="Issue Details"  
                             styleClass="AFStretchWidth BAMTable" varStatus="vs">  
                                
                               <af:forEach items="#{pageFlowScope.bamdashboardBean.attributeDefs}" var="def">  
                                <af:column sortable="false"  
                                           headerText="#{bindings\[pageFlowScope.bamdashboardBean.currentBinding\].hints\[def.name\].label}"  
                                           id="c3"  
                                           width="200" headerClass="BAMTableCell" styleClass="BAMTable">  
                                   <af:outputText value="#{row.bindings\[def.name\].inputValue}" id="ot9"/>  
                               </af:column>  
                               </af:forEach>  
                           </af:table>
This post has been answered by Timo Hahn on Apr 24 2025
Jump to Answer
Comments
Post Details
Added on Apr 18 2025
10 comments
404 views