We have ADF 18.104.22.168.0 application which has search and table panel implemented with af:query component with table.
Results of the search can be upto 100K records. We have provided export to excel functionality of the result set via af:exportCollectionActionListener.
<af:exportCollectionActionListener exportedId="pidTbl" type="excelHTML" filename="export.xls"/>
However, this will only export 65536 records. I want to know if there is a way to configure this component to allow exporting records more than this number. Or is this a limitation of the current ADF version?
Changing filename to *.xlsx format also will not work.
Are you sure it is a smart move to shuttle 100K records from the database to the middletier and then to the client?
Seems like a waste of network and memory resources.
You probably will be better off generating the file on the server with the records and then using a goLink to open it.
this has been filed as bug 13902908 and bug 1340143 and closed as not a bug with the following statement:
"The limit of 65536 is for Excel 97, Excel 2000, Excel 2002 and Excel 2003. But Versions of Excel later than Excel 2003 have a limit of 1,048,576 rows"
You can check this on the MS support website too.
(I strongly agree with Shay though that using POI on the server side and then downloading the Excel file is of better performance)
Message was edited by: FrankNimphius
Thanks Frank and Timo for replying.
I am using Excel 2010 which has a limit of 1,048,576 rows. I confirmed that by opening up a blank spreadsheet and scrolling to the bottom.
So the question is, if I am exporting to this newer excel version, why is it still exporting 65K rows? Is it the ADF export listener which has this limit?
so you have 1 million rows in the file but only 65 K is displayed? If this is the case then it no longer sounds like an ADF problem and you should contact MS support. Btw, are you saying that you try to export 1 million rows using the export collection tag for users to work with? Honestly, this is not what I would recommend using the export tag for. Instead have a look at POI as suggested by Timo and generate the file from the business service instead of passing it through to the view layer.