I've seen many posts about Excel.Workbook.Load() taking a long time. We're using 2015.1. Have there been any improvements in this area in more recent versions?
1. We need to open a workbook and get the list of worksheets. This can take anywhere from 90 seconds to 15 minutes, depending on how many rows are in the spreadsheet.
2. We need to open a specific sheet and examine the first and second row to get column headers.
3. In general, opening the file using Workbook.Load() takes far longer than just opening the file in Excel directly. Has this been optimized in new releases?
1) This could simply be due to the amount of data being loaded, although the times listed seem too long for normal use cases. Are there any sheets that load quickly? How much data is in each sheet? If you can provide the sheets to me, we can look into why they might be taking so long to load.
2) Are you running into any issues when attempting to do this? Please let me know if there is anything I can do to assist with this item.
3) The reason it opens more quickly in Excel is actually due to optimizations in Excel that don't necessarily make sense for our library. Excel is able to load a small portion of the data and display it immediately while loading the rest, whereas our library needs to load everything before finishing since developers would expect everything to be there when beginning operations on the worksheet.
I can confirm that we have made changes to the Excel engine that may improve the performance in your application. My recommendation is to download the 2017.2 trial version and compare load times between the two versions to see whether these changes impact you.
If you find that the load time is still unacceptable in the latest version, please send me the Excel sheet and we can figure out what is causing it to take so long to load as well as recommend actions you can take to improve it. If you would prefer not to upload this to the public forum, let me know and I'll open a private case to receive it.
I uploaded the file. It takes about 90 seconds to open. My questions:
1. Can you guys expand the API so that we can query a workbook for a list of worksheets without doing a full open?
2. Can you guys expand the API so that we can query a workbook for the first 1 or 2 rows without doing a full open?
3. Are there any changes I can make in the workbook I uploaded to improve open time but keep the same data?
You can suggest new product ideas for future versions by emailing firstname.lastname@example.org.
Submitting your idea will send it directly to our product management team so that it can be imported into our new ideas community once live: http://ideas.infragistics.com.
Remember when submitting your idea to explain the context in which a feature would be used and why it is needed as well as anything that would prevent you from accomplishing this today. You can even add screenshots to build a stronger case.
I am not sure if there is any good way to improve the load time in this case, short of breaking the data up in some way. I did notice that only 10% of the data uses every column. The remaining 90% uses only a single column. If this is representative of your real data, you may be able to optimize loading by splitting this up into two sheets (using the full amount of columns for the first 10% and only a single column for the remaining rows).
My second suggestion for optimization is to determine what data is most important, and load only that. If there is some data that is not necessary for your users, you can create a new sheet that omits those rows and columns that are not needed and load the smaller sheet.
Thanks for the feedback. I'll take your suggestions under advisement. I've also submitted my requests to email@example.com
Please let me know if there is anything I can do to assist you.