Understanding the "Your session has exceeded its limits and has been closed" error in Excel Web App

The Office Web App Service Description lists a max file size of 10 MB for Excel Web App.

If you ever tried to upload an Excel workbook to SharePoint Online, even if the file size is smaller than 10 MB you might have encountered the error “Your session has exceeded its limits and has been closed“. Perhaps you've even tried to upload the file to SharePoint Server and not gotten the error?

So what is going on with Excel Web App on SharePoint Online?

 

Before I explain let me illustrate the above

I have an Excel file with a Pivot Table sitting on my disk. On disk the file takes up less than 6 MB

Now if I open Excel without opening any files, I see that the Excel application itself takes up around 34 MB of memory on my PC...

...then if I open the Excel file, I see that Excel with the opened file now takes up around 232 MB of memory on my PC - in other words, the file itself takes up around 200 MB of memory.

If I then create a site collection on SharePoint Online and provision it with plenty of resources...

...upload the Excel file to a document library and try to view it in a browser

... I get the below error the moment I try to filter the Pivot Table

File Size vs Memory

To understand why this error is thrown, we need to distinguish between file size and memory size. Even if an Excel workbook (file) is listed as e.g 5 MB file size in Windows Explorer it might be consuming a lot of memory when opened in Excel, e.g. due to pivot tables in it.

On SharePoint Online we currently limit the users to 75 MB of memory. The session memory setting applies only to Excel.

In the above example the file consumes close to 200 MB of memory due to the pivot table, and Excel throws the error. This error has nothing to do with the size of the file but with the amount of memory the file consumes when a user opens it.

For the file to work on SharePoint Online you will need to reduce the size of the memory footprint by removing some of the elements in the file.

See also