HTTP — это протокол без сохранения состояния. Для вас это означает, что когда ваши пользователи загружают файл из интрасети через http, они загружают копию, а не оригинал. Любые изменения, которые они вносят, будут отображаться только в их копии, и тогда вы получите множество копий одной и той же книги с разными, возможно, перекрывающимися изменениями. Вы не хотите этого!
А также… как ваши пользователи вообще собираются загружать свои изменения?
Вам нужно создать общую папку в вашей сети и поместить туда книгу. Затем вы можете использовать формат 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"
person
3-14159265358979323846264
schedule
17.07.2015