如何通过浏览器在html按钮上运行excel应用程序

时间:2017-09-03 06:05:28

标签: javascript jquery html

我想在html页面中创建一个按钮,这样当用户点击它时,excel应用程序就会启动。

<button class="btn btn-primary" href="to popup excel sheet">click</button>

1 个答案:

答案 0 :(得分:0)

HTTP是无状态协议。这对您来说意味着当您的用户通过http从Intranet下载文件时,他们正在下载副本,而不是原始副本。他们所做的任何更改只会出现在他们的副本中,然后您最终会获得同一工作簿的大量副本,这些副本具有不同的,可能重叠的更改。你不想要那个!

还有......您的用户甚至会如何上传他们的更改?

您需要在网络上创建共享文件夹并将工作簿放在那里。然后,您可以使用Intranet上file:///SERVER/PATH/FILE.xls链接中的<a />格式将用户定向到服务器上的实际文件。

我建议您首先在桌面上创建一个简单的html文档,以熟悉file:///路径格式。 例如

<html>
    <head />
    <body>
        <a href="file:///SERVER/PATH/FILE.xls">Click</a>
    <body>
 <html>

将其保存在记事本中,并将扩展程序从.txt重命名为.html

您还可以将file:///路径直接输入到Windows资源管理器的地址栏中,以便在不使用上述html文档的情况下测试路径。

<强>不幸的是!似乎浏览器的默认行为是始终下载链接而不是打开它(即使它是本地资源),所以如果你真的想打开它,那么你必须求助于改变你的浏览器内部网权限以允许JS访问本地资源,然后允许您使用下面的技术。

本文(http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application)使用

<script type="text/javascript" language="javascript">
    function RunFile() {
    WshShell = new ActiveXObject("WScript.Shell");
    WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
    }
</script>

打开记事本。您可以使用命令行参数与Excel.exe(https://support.office.com/en-za/article/Command-line-switches-for-Excel-321cf55a-ace4-40b3-9082-53bd4bc10725)来告诉它文件路径是什么......

Excel.exe "C:\PATH\Excel.xls"

参考链接:Open excel file through normal html link