Excel显示及下载

来源:互联网 发布:用php做购物网站案例 编辑:程序博客网 时间:2024/06/05 08:36

        今天群里有个人问怎么在IE窗口中打开PDF文件,我起初还以为我会呢,因为以前实现过一个水晶报表使用PDF格式在IE中显示的功能,结果把源代码一贴,不符合他的要求。。。深感惭愧,于是自己开始琢磨。

     在网上找了一些资料,确实有不少。大致的代码如下:

1 protected void Page_Load(object sender, EventArgs e)
2
{
3 if
(!IsPostBack)
4
{
5 string fname = Server.MapPath(".") + @"/Files/FarPointOne.doc"
;
6
Response.ClearContent( );
7
Response.ClearHeaders( );
8 Response.AppendHeader("Content-Disposition", string.Format("inline;filename={0}"
,fname));
9 Response.AppendHeader("content-type", "application/msword"
);
10
Response.WriteFile(fname);
11
Response.Flush( );
12
Response.Close( );
13
}
14 }

关于这段代码,有一点要注意:content-type 的取值

content-type: application/pdf PDF文件) ||  application/mswordWORD文件) || application/x-msexcelEXCEL文件) || text/plain (文本文件)

如果要在IE中打开的是PDF或者TXT格式的文件,这段代码直接就能实现。但是当选择打开的是EXCEL或者WORD文件时,就弹出的是下载对话框了。

这个问题,让我纠结了十多分钟,到底是哪里的问题呢?是 content-type有误?不会啊,我找了好多网址,都是这个。

于是继续搜索资料,综合搜索资料和实验结果,得出如下解决方案。如下是设置步骤的截图:

 

 

 

图中所示的是WORD文件的设置方式,对于EXCEL文件只需要找到扩展名为 XLSXLSX的项,并做同样的设置就OK

注意:

 * Content-Disposition的可能取值:
 * attachment
表示作下载
 * inline
表示在浏览器中打开

 文章参考:

http://www.docin.com/p-152175448.html