2015-07-17 3 views
2

В настоящее время я сталкиваюсь с проблемой, когда я хочу поместить ссылку на общий лист excel в нашей интрасети. К сожалению, нормальная связь href="http:..." автоматически открывается и сохраняет ее на локальном компьютере вместо включения работы на общем листе, который находится на самом сервере.Открыть файл excel через нормальную ссылку html

Я немного прочел здесь и нашел такие решения, как: file://///SERVER/PATH/Excel.xls , но, к сожалению, это решение ничего не делает.

Если его отношение: моя версия сервера Windows Server 2012

ответ

2

HTTP является протоколом без. Для вас это означает, что когда ваши пользователи загружают файл из интрасети через http, они загружают копию, а не оригинал. Любые изменения, которые они вносят, будут отображаться только в их копии, а затем вы получите множество копий одной и той же книги с разными, возможно, перекрывающимися изменениями. Вы этого не хотите!

А также ... как ваши пользователи даже собираются загрузить свои изменения?

Вам необходимо создать общую папку в своей сети и разместить там книгу. Затем вы можете использовать формат file:///SERVER/PATH/FILE.xls в ваших ссылках в вашей интрасети, чтобы направить вашего пользователя в фактический файл на сервере.


Я бы порекомендовал вам начать с создания простой HTML документ на рабочем столе, чтобы ознакомиться с форматом file:/// пути. Например

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

кроме того, что в блокноте и переименовать расширение от .txt к .html.

Вы также можете набрать file:/// пути прямо в адресную строку проводника браузера, которые позволяют тестировать пути, не обращаясь к html-документу, упомянутому выше.

UNFORTUNATELY! Кажется, что поведение браузеров по умолчанию заключается в том, чтобы всегда загружать ссылку, а не открывать ее (даже если это локальный ресурс), поэтому, если вы действительно хотите ее открыть, вы должны прибегнуть к изменению прав доступа к интрасети вашего браузера, чтобы позволить 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" 
+0

Благодарим вас за подробный ответ. Я уже пробовал это, и это не сработало - несмотря на то, что я забыл проверить, нет ли каких-либо журналов консоли для этой ошибки. Я получаю следующий вывод в консоли: не разрешено загружать локальный ресурс: file: ///SQL/inetpub/wwwroot/tabellen/omv/2015-OMV-Anmeldung.xls Это не так, потому что все пользователи имеют право доступа и изменения файла –

+0

Не помещайте файл в структуру вашего сайта! Поместите его в другую папку, которая имеет отношение к вашему веб-сайту и делится ею. Управление разрешениями достаточно плохо, принося IIS в изображение! –

+0

создал папку за пределами моей архитектуры веб-сайта и поделился ею со всеми - тот же результат: каждый может получить к ней доступ вручную, но при нажатии на ссылку выдается та же ошибка –

 Смежные вопросы

  • Нет связанных вопросов^_^