使用正确的文件名导出gridview to excel

时间:2009-05-08 19:14:57

标签: asp.net

我有一个代码,它将循环遍历每一行和每一列,并将数据导出到excel。一切正常。当用户点击“打开”文件时,系统正在打开具有不同文件名的文件。如果我将文件名设为“test.xls”,则将文件打开为“test [1] .xls”。有没有办法用相同的文件名导出?因此,我们无法使用某些Excel功能。

谢谢, 斯里达尔。

2 个答案:

答案 0 :(得分:0)

当你保存它时,Windows可能会添加[1],因为test.xls已经存在或以前存在过。因此我将当前日期附加到我的文件名中,如下所示:

Filename = Filename & "_" & String.Format("{0:MM-dd-yyyy}", Now)

您甚至可以添加递增数字或将时间添加到日期,以确保它是唯一的。

答案 1 :(得分:0)

HttpContext.Current.Response.AddHeader ( "content-disposition",
"attachment;filename=" + pageName + "." + fileExtension );

HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.Cache.SetCacheability ( HttpCacheability.NoCache );
HttpContext.Current.Response.ContentType = "application/vnd." + fileExtension;

System.IO.StringWriter stringWrite = new System.IO.StringWriter ();
System.Web.UI.HtmlTextWriter htmlWrite =
new HtmlTextWriter ( stringWrite );
HttpContext.Current.Response.Write ( str.ToString () );
HttpContext.Current.Response.End ();