在asp.net中打开excel文件

时间:2011-11-17 03:19:00

标签: c# asp.net excel

我正在尝试从asp.net打开一个Excel(.xls)文件。我正在使用的代码在这里给出。它显示了一个我不想要的另存为对话框。请帮助我!!!

  Response.ContentType = "application/xls";
  Response.Flush();
  Response.WriteFile(fileName);
  Response.End();

2 个答案:

答案 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