noa*_*dev 5 html excel hyperlink windows-server-2012-r2
我当前遇到一个问题,我想在我们的Intranet中放置一个指向共享Excel工作表的链接。不幸的是,普通href="http:..."链接会自动打开并保存到本地计算机,而不是在服务器本身的共享表上启用工作。
我在这里通读了一点,找到了类似的解决方案:file://///SERVER/PATH/Excel.xls
但可惜该解决方案没有任何作用。
如果相关:我的服务器版本是Windows Server 2012
小智 6
您可以通过添加ms-excel:ofe | u |来告诉浏览器使用Excel打开(如果已安装)。在您的Excel文件网址前面。
<a href="ms-excel:ofe|u|http:...xls">Open in Excel</a>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
将其保存在记事本中,并将扩展名从重命名.txt为.html。
您也可以file:///直接在Windows资源管理器的地址栏中键入路径,从而无需使用上述html文档即可测试路径。
不幸的是!似乎浏览器的默认行为是始终下载链接而不是打开链接(即使它是本地资源),因此,如果您实际上要打开链接,则必须诉诸更改浏览器Intranet权限以允许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>
Run Code Online (Sandbox Code Playgroud)
打开记事本。您可以将命令行参数与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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36282 次 |
| 最近记录: |