Skip to main content
Planview Customer Success Center

Report Designer report Export to Excel fails

Symptoms:

  • "Export to Excel" function fails with the error, or
  • User is experiencing "Unable to read file" issue intermittently when trying to open exported Report, or
  • The "File Download" dialog appears but stays empty

Error/warning messages:
Export fails with the following error in UI:

404 - File or directory not found

Following line from the IIS log shows that the HTTP status code is 404 and the substatus code is 13:

POST /UserControl/CPGrid/CPGridExportToExcel.aspx …. 404 13

Reason:
Problem is casued by the size of the report to be exported. Substatus code 13 indicates that the content length is too large.


Resolution:
Edit your web.config file under the Enterprise folder, on each IIS server, as follows:

1- Find the “httpRuntime” tag, and add insert the requestLengthDiskThreshold="40960" parameter inside, and increase maxRequestLength  E.g.

Line before the change:

<httpRuntime executionTimeout="900" maxRequestLength="40960" minFreeThreads="8" minLocalRequestFreeThreads="4" useFullyQualifiedRedirectUrl="true" />

Line after the change:

<httpRuntime executionTimeout="900" maxRequestLength="409600" minFreeThreads="8" requestLengthDiskThreshold="40960" minLocalRequestFreeThreads="4" useFullyQualifiedRedirectUrl="true" />

2- Find the “system.webServer” tag and insert the following tags and parameters between the lines:

Lines before the change:

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

Lines after the change:

<system.webServer>
<security>
<requestFiltering>
<!-- maxAllowedContentLength is in Bytes not Kilobytes -->
<requestLimits maxAllowedContentLength="40960000" />
</requestFiltering>
</security>
<validation validateIntegratedModeConfiguration="false" />
 
3- Find the line containing the following command in file ...\Enterprise\UserControl\CPGrid\CPGridExportToExcel2.aspx, on each IIS server:
 
window.setTimeout(function () { self.close(); }, 20000)

...and increase the timeout value to a higher value, e.g.
 
window.setTimeout(function () { self.close(); }, 120000)