你如何得到一个电子表格打开Excel而不是浏览器窗口?

如果您调用javascript window.open并将url传递给.xls文件,它将在浏览器窗口的某些机器上打开。 你如何强迫它进入Excel?

只有用户机器可以“强制”到Excel中。 也就是说,99%的时间,如果你发送正确的MIMEtypes和用户有Excel,那么它将在Excel中打开,假设他们批准。

只有服务器可以发送正确的MIMEtypes。 您传递给JavaScript window.open调用的文档types对此不起作用。 实际上,调用window.open最多只会打开一个多余的窗口。

最好用<a href="foo.xls">链接到文档。 并提供您的服务器发送MIMEtypes的application/x-excelapplication/x-msexcel这几乎总是微调浏览器打开一个新的窗口与Excel文档。

如果它只是一个静态文件,并且您在Linux上使用Apache,请检查名为/etc/mime.types的文件,并确保其中包含以下行,以将.xls文件扩展名与正确的MIMEtypes关联:

 application/vnd.ms-excel xls 

我猜这个文件的位置可能会因系统而异,但是在运行RHEL4的服务器上的/etc/mime.types。

AFAIK你不能单独使用JavaScript。 如果你在服务器端有某种脚本语言,你可以改变头来强制下载。

这里有一个简单的PHP教程,但你可以很容易地find你喜欢的语言。

你不能强迫它进入Excel。 您可以允许浏览器以configuration的方式处理它,也可以尝试强制它下载文件,并让用户从桌面打开。 要强制下载,search“强制下载”和您的服务器端语言(PHP,ASP.NET,JSP等)

我不认为你可以:出于安全原因,你不能使用Javascript调用外部程序。 假设用户安装了Excel,您可能希望打开没有地址栏的新窗口,以使用户“错觉”在Internet Explorer中使用Excel打开文件。

由于安全问题,我不认为这是可能的,没有什么能阻止stream氓网页打开几十个excel / word实例。

你能不能设置一个超链接到.xls的URL,这样用户将得到通常的下载提示来查看文件。

  1. 将http内容types设置为Excel数据types:application / vnd.ms-excel
  2. 您不需要redirect到新窗口,但会popup一个窗口,要求用户保存或打开文件。
  3. 关于(2):我担心如果浏览器可以启动外部应用程序,并自动加载数据,而无需用户干预。

这是在每个用户的浏览器中的设置,而不是可以由代码设置的东西。 所以不幸的是你没有控制。

你不能,因为它取决于客户机。

例如,在Windows上,如果您希望它始终用Excel打开它,而不是在浏览器窗口中,则必须打开我的电脑,工具,文件夹选项,文件types,selectXLStypes,然后单击高级。 有两个checkbox:在同一个窗口中浏览并打开网页文档。 取消选中两个,closures浏览器窗口,再次打开并重试。

但正如我所说:这取决于客户端,你不能强迫它。

您可以使用LaunchinIE ,一个ActiveX控件,这将启用HTML页面启动客户端的机器上的任何应用程序,没有安全警告。

从网站引用:“最后,网页可以启动Word,Excel或任何其他企业应用程序没有投诉,安全地。”

为此,您必须在用户计算机上安装控件,并将允许执行本地应用程序的URL添加到Windowsregistry中。

另一个网站引用:“为了确保安全,LaunchinIE需要在客户端进行认真的configuration;由于这个限制,它只适合内部网使用。

我在我们的培训机构中使用LaunchinIE,因此我可以使用Internet Explorer作为菜单,让用户select机器设置。 然后LaunchinIE调用批处理脚本来configuration机器以最好地支持所选的培训。

以下是打开保存的Excel文件时popup的步骤。

  1. 右键单击窗口[开始]button并select浏览打开Windows资源pipe理器窗口将打开。
  2. 从菜单中select工具\文件夹选项…
    •select“文件types”选项卡并向下滚动文件列表。
    •左键单击以突出显示XLS Microsoft Excel工作表文件扩展名,然后单击“高级”button。

  3. 在“编辑文件types”窗口中,取消选中“在同一窗口中浏览”选项。

  4. 点击确定button接受你的改变。

  5. 开始一个新的浏览器会话。 下次您在收件箱中打开Excel电子表格时,应该会看到以下窗口。 一定要保留“打开这种types的文件之前一直询问”的选项。 单击“打开”button现在应该在Excel中打开文件。