在 C# 中的 Excel 报告中保存 Window
Save Window at Excel Report in C#
我有一个有效的 Excel 报告代码。尽管如此,当我单击该按钮时,文件会直接进入我的下载文件夹,而不会给我更改名称或选择我想要保存它的位置的选项。
代码如下:
public void GetExcel()
{
var list = (IList<LeaseViewModel>)Session["currentList"];
var grd = new GridView { DataSource = list, AutoGenerateColumns = true };
grd.DataBind();
Response.ClearContent();
Response.AddHeader("Content-type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
Response.AddHeader("content-disposition", "attachment;filename=Leases.xls");
Response.ContentType = "application/excel";
var swr = new StringWriter();
var tw = new HtmlTextWriter(swr);
grd.RenderControl(tw);
Response.Write(swr.ToString());
Response.Flush();
Response.End();
tw.Close();
swr.Close();
}
有人可以指出我应该更改什么才能让 window 弹出吗?
非常感谢。
感谢大家强调这是一个 browser-configuration 问题。
我认为一旦我在代码中定义了默认名称,我也可以将它定义为始终询问我想要的名称是什么。不过,我在不同的浏览器中进行了测试,事实证明你是对的,感谢您识别并注意到我。
关于默认名称问题,我是这样解决的:
之前:
Response.AddHeader("content-disposition", "attachment;filename=Leases.xls");
之后:
Response.AddHeader("content-disposition", "attachment;filename=" + Session["listName"] + "_Report.xls");
现在无论我导出什么报告,名称总是自定义的。
希望对像我这样的新手有所帮助(:
我有一个有效的 Excel 报告代码。尽管如此,当我单击该按钮时,文件会直接进入我的下载文件夹,而不会给我更改名称或选择我想要保存它的位置的选项。
代码如下:
public void GetExcel()
{
var list = (IList<LeaseViewModel>)Session["currentList"];
var grd = new GridView { DataSource = list, AutoGenerateColumns = true };
grd.DataBind();
Response.ClearContent();
Response.AddHeader("Content-type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
Response.AddHeader("content-disposition", "attachment;filename=Leases.xls");
Response.ContentType = "application/excel";
var swr = new StringWriter();
var tw = new HtmlTextWriter(swr);
grd.RenderControl(tw);
Response.Write(swr.ToString());
Response.Flush();
Response.End();
tw.Close();
swr.Close();
}
有人可以指出我应该更改什么才能让 window 弹出吗?
非常感谢。
感谢大家强调这是一个 browser-configuration 问题。
我认为一旦我在代码中定义了默认名称,我也可以将它定义为始终询问我想要的名称是什么。不过,我在不同的浏览器中进行了测试,事实证明你是对的,感谢您识别并注意到我。
关于默认名称问题,我是这样解决的:
之前:
Response.AddHeader("content-disposition", "attachment;filename=Leases.xls");
之后:
Response.AddHeader("content-disposition", "attachment;filename=" + Session["listName"] + "_Report.xls");
现在无论我导出什么报告,名称总是自定义的。
希望对像我这样的新手有所帮助(: