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>