Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让电子表格打开Excel而不是浏览器窗口?_Javascript_Excel_Url - Fatal编程技术网

Javascript 如何让电子表格打开Excel而不是浏览器窗口?

Javascript 如何让电子表格打开Excel而不是浏览器窗口?,javascript,excel,url,Javascript,Excel,Url,如果调用javascript window.open并将url传递给.xls文件,它将在浏览器窗口中的某些计算机上打开。如何将其强制输入Excel?只有用户计算机才能将其“强制”输入Excel。也就是说,99%的时间如果你发送正确的mime类型,用户有Excel,那么它将在Excel中打开,假设他们批准 只有服务器才能发送正确的mime类型。传递给JavaScript window.open调用的文档类型对此没有影响。事实上,调用window.open最多只能打开一个多余的窗口 最好只使用链接到

如果调用javascript window.open并将url传递给.xls文件,它将在浏览器窗口中的某些计算机上打开。如何将其强制输入Excel?

只有用户计算机才能将其“强制”输入Excel。也就是说,99%的时间如果你发送正确的mime类型,用户有Excel,那么它将在Excel中打开,假设他们批准

只有服务器才能发送正确的mime类型。传递给JavaScript window.open调用的文档类型对此没有影响。事实上,调用window.open最多只能打开一个多余的窗口


最好只使用
链接到文档。如果您的服务器发送mime类型的
application/x-excel
application/x-msexcel
,这几乎总是会推动浏览器打开一个包含excel文档的新窗口。

AFAIK单靠JavaScript无法做到这一点。如果您在服务器端有某种脚本语言,您可以更改头以强制下载


这是一个简单的PHP教程,但是你可以很容易地用你最喜欢的语言找到它。

你不能将它强制输入Excel。您可以允许浏览器以任何配置方式处理该文件,或者您可以尝试强制浏览器下载该文件,并允许用户从其桌面打开该文件。要强制下载,请搜索“强制下载”和您的服务器端语言(PHP、ASP.NET、JSP等)

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

由于安全问题,javascript不可能这样做,没有什么能阻止一个流氓网页打开几十个excel/word实例

你不能设置一个指向.xls的url的超链接,这样用户就可以得到通常的下载提示来查看文件

  • 将http内容类型设置为Excel数据类型:application/vnd.ms-Excel
  • 您不需要重定向到新窗口,但会出现一个弹出窗口,要求用户保存或打开文件
  • 关于(2):我担心浏览器是否可以启动外部应用程序并自动将数据加载到其中,而无需用户干预

  • 这是每个用户浏览器中的设置,而不是可以通过代码设置的内容。不幸的是,你无法控制这一切

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

    application/vnd.ms-excel    xls
    

    我猜该文件的位置可能因系统而异,但它位于运行RHEL4的服务器上的/etc/mime.types中。

    您不能,因为它取决于客户端计算机

    例如,在Windows上如果希望它始终使用Excel打开,而不是在浏览器窗口中打开,则必须打开“我的电脑”、“工具”、“文件夹选项”、“文件类型”,选择XLS类型,然后单击“高级”。有两个复选框:在同一窗口中浏览和就地打开web文档。取消选中两者,关闭浏览器窗口,再次打开并重试

    但是,正如我所说:这取决于客户端,您不能强制执行。

    您可以使用ActiveX控件来执行此操作,该控件将使HTML页面能够启动客户端计算机上的任何应用程序,而无需安全警告

    引用该网站的话:“终于,网页可以毫无怨言地启动Word、Excel或任何其他公司应用程序。安全。”

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

    该网站的另一句话是:“为了确保安全,Launchini需要在客户端仔细配置;由于这一限制,它只适合内部网使用。”


    我在我们的培训设施中使用Launchini,因此我可以使用Internet Explorer作为菜单,让用户选择机器设置。然后,Launchini调用一个批处理脚本,该脚本配置计算机以最佳支持所选培训。

    以下是打开保存的Excel文件时返回此弹出窗口的步骤

  • 右键单击windows[开始]按钮并选择“浏览”以打开windows资源管理器窗口
  • 从菜单中选择工具\文件夹选项…
    •选择“文件类型”选项卡并向下滚动文件列表。
    •左键单击以突出显示XLS Microsoft Excel工作表文件扩展名,然后单击“高级”按钮

  • 在“编辑文件类型”窗口中,取消选中“在同一窗口中浏览”选项

  • 单击“确定”按钮接受您的更改

  • 启动新的浏览器会话。下次在收件箱中打开Excel电子表格时,应显示以下窗口。确保将“打开此类型文件前始终询问”保留为选中状态。单击“打开”按钮现在应该在Excel中打开文件