1

我在我的 asp.net 项目中使用 smartxls 和 c#。我有以下代码:

var excel = new SmartXLS.WorkBook();
string projPath = AppDomain.CurrentDomain.BaseDirectory;
excel.readXLSX(projPath + @"ExcelTemplates\" + template);
excel.ImportDataTable(....)
Response.ContentType = "application/vnd.ms-excel";
excel.write(Context.REsponse.OutputStream);

这似乎工作正常,我的数据直接在我的 aspx 页面上的页面链接上打开,但是在打开时,它会自动将文件命名为 default.xls,我不知道如何更改此名称。我尝试了 excel.setSheetName 和 excel.DefinedName,但是打开时都没有更改 excel 表的名称,它始终是 default.xls。有谁知道如何用我上面的代码设置这个名称?我知道如果我在写入时将其直接保存到 C:\filename 之类的路径中,我可以重命名,但我需要它具有特定名称并在按钮或链接单击时为客户端自动打开。

谢谢

4

1 回答 1

2

您需要明确指定文件名。

Response.ContentType = "应用程序/vnd.ms-excel";

//添加这一行

Response.Addheader "Content-Disposition", "attachment;Filename=" & youfileName& ".xls"

excel.write(Context.REsponse.OutputStream);

于 2010-11-09T23:01:57.657 回答