Имитация извлечения файла Excel из Sharepoint - PullRequest
0 голосов
/ 21 октября 2010

Когда я открываю файл Excel, хранящийся на Sharepoint, у меня есть возможность открыть его только для чтения или в режиме редактирования. Если я открываю его только для чтения, открывается Excel, и я вижу «Серверную книгу. Чтобы изменить эту книгу, нажмите« Изменить рабочую книгу ». Мне нужно получить этот файл Excel с помощью приложения ASP.NET, но все еще иметь эту функциональность Server Workbook.

В fiddler я вижу, что при открытии в Sharepoint выполняется POST для SharepointSite / _vti_bin / _vti_aut / author.dll с методом = getdocument в качестве одного из отправленных параметров и именем файла в качестве другого.

Нужно ли повторять этот POST через ajax-вызов или есть более простой способ (как я подозреваю)?

Ответы [ 2 ]

1 голос
/ 22 октября 2010

Просмотрев этот пост и обнаружив, что он просто следовал javascript и вызвал функцию editDocumentWithProgID2 , я почти все сделал. Я только что переключился с этой функции на функцию ViewDoc javascript.

<a onclick="javascript: ViewDoc('http://mysite/myfile.xlsx', 'SharePoint.OpenDocuments');"...

Для этого мне понадобилось добавить ссылку на JavaScript-файл Sharepoint Core.js на моей странице:

<script src='http://mysite/_layouts/1033/core.js' type="text/javascript"
        language="javascript"></script>

Теперь после нажатия на ссылку, появляется электронная таблица с «Рабочей книгой сервера» и кнопкой «Редактировать рабочую книгу»

Я бы не стал рекомендовать кому-либо копировать его, так как он довольно хрупкий и сломается, если / когда мы обновим до Sharepoint 2010, и что он соединяет сайты ASP.NET и Sharepoint. Однако он выполняет ту работу, в которой мы нуждаемся прямо сейчас.

0 голосов
/ 21 октября 2010

вместо того, чтобы имитировать функцию браузера, которая может сломаться в будущем, предпочтительным методом является использование объектной модели sharepoint или веб-сервисов sharepoint для получения файла.

вы можете использовать веб-сервисы списков для функций входа / выхода, если вы на это ссылаетесь.http://msdn.microsoft.com/en-us/library/lists.lists_members%28v=office.12%29.aspx

, если я не понял вашего вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...