我正在尝试从asp.net打开一个Excel(.xls)文件。我正在使用的代码在这里给出。它显示了一个我不想要的另存为对话框。请帮助我!!!
Response.ContentType = "application/xls";
Response.Flush();
Response.WriteFile(fileName);
Response.End();
答案 0 :(得分:1)
尝试添加response.addheader并使用“binarywirte”而不是“writeFile”代码,如下面的示例代码(工作代码)......
System.IO.FileStream fs = null;
fs = System.IO.File.Open(filename, System.IO.FileMode.Open);
byte[] btFile = new byte[fs.Length];
fs.Read(btFile, 0, Convert.ToInt32(fs.Length));
fs.Close();
Response.AddHeader("Content-disposition", "attachment; filename=" + filename);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(btFile);
Response.End();
答案 1 :(得分:0)
这最终通过操作系统中的文件关联来控制。您可以在每台计算机上修改注册表设置以实现此结果。
您需要更改与excel相关的 HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes 下的子项。具体而言,您必须添加以下值:
Name=BrowserFlags; Type=REG_DWORD; Value=8