Web程序中利用web.config解决无法输出excel页面的问题

Web程序中利用web.config解决无法输出excel页面的问题

左直拳

WEB应用程序中,有时需要将页面以WORDEXCEL的形式输出。做法是:

//WORD的形式输出

Response.ContentType = "application/msword";

 

//EXCEL的形式输出

Response.ContentType = "application/vnd.ms-excel";

 

可是,有时候在一些机器上运行,却并不如预期那样输出WORDEXCEL页面,而是出现了一个登陆的页面(login.aspx)与输出页面(空白)的混合体,显得不伦不类,古灵精怪。

我们的WEB程序采用“Forms”的身份验证模式,有一个默认的登陆页面login.aspx。通常,在还没有身份验证或验证信息丢失的情况下,系统会强制转向登陆页面,然而这个时候访问其他页面却又一切正常,表明验证信息还在。

那么是什么原因呢?难道验证信息对这个输出WORDEXCEL格式的页面没起作用吗?

因为机器上的文件系统是NTFS,我将该输出文件的权限设成了EVERYONE完全控制,结果还是不行。

真是莫名其妙。

后来在输出文件所在的目录下添加了一个web.config文件,内容如下:

<configuration>

  <system.web>

       <customErrors mode="Off"/>

    <authorization>

        <allow users="*" />

    </authorization>

    <globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>

  </system.web>

</configuration>

问题解决了。

究其原因,原先也许是因为WORDEXCEL无法访问WEB应用程序而导致吧。

原文地址:https://www.cnblogs.com/leftfist/p/4258355.html