通过正常的html链接打开excel文件

我目前遇到了一个问题,我想在我们的Intranet上添加一个共享Excel表单的链接。 不幸的是,正常的href="http:..."链接自动打开并保存到本地机器,而不是在服务器本身的共享表单上启用。

我已经通过这里读了一下,find了如下的解决scheme: file://///SERVER/PATH/Excel.xls但遗憾的是,这个解决scheme没有做任何事情。

如果与其相关:我的服务器版本是Windows Server 2012

HTTP是一个无状态的协议。 这对你意味着什么,当你的用户通过http从内部网下载一个文件时,他们正在下载一个副本,而不是原来的。 他们所做的任何更改只会出现在他们的副本中,然后最终得到大量相同工作簿的不同副本,可能会发生重叠更改。 你不要那个!

而且…你的用户甚至会如何上传他们的变化?

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


我build议你先在桌面上创build一个简单的html文档,以熟悉file:///path格式。 例如

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

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

你也可以直接inputfile:///path到Windows资源pipe理器的地址栏中,这样就可以testingpath,而不需要使用上面提到的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 )告诉它什么文件path是…

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