Как я могу автоматизировать извлечение электронной таблицы Excel из библиотеки документов sharepoint, отредактировать электронную таблицу и вернуть ее обратно? - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть пара сотен таблиц Excel, которые хранятся в библиотеке документов SharePoint 2010.

У многих из этих электронных таблиц есть жестко закодированные URL-адреса, которые необходимо обновить до новых URL-адресов на основе некоторой реструктуризации нашего сайта SharePoint.

Я хотел бы перебрать все электронные таблицы, открыть их, выполнить поиск и замену, а затем записать их обратно в SharePoint.

Кстати, я уже знаю, как перебирать таблицы Excel в SharePoint (создавая ссылку на SPFile) и запускать команды извлечения и проверки.

Мне почти очень удобно работать с OLE Automation для Excel, чтобы найти и заменить.

Я борюсь с тем, как преодолеть пропасть между ними. После того, как я возьму ссылку на файл и проверим его, как я могу выполнить ole автоматизацию на нем? Обычно я считаю, что для открытия ссылки на файл мне понадобится путь к файлу, но даже если я выберу опцию «использовать локальный», файл не будет создан в файловой системе (и даже если он есть, я не уверен что это будет работать для работы с временным файлом.)

Кажется, я должен быть в состоянии загрузить его из потока в объект VBA Excel Automation, но я не уверен, как.

Есть мысли?

1 Ответ

0 голосов
/ 21 декабря 2011

Допустим, вы строите этот инструмент как консольное приложение, которое вы запускаете на сервере SharePoint. В Консольном приложении код:

  1. Использование объектной модели SharePoint для извлечения файла
  2. Используйте метод .Net WebClient.DownloadFile для загрузки файла в локальную систему
  3. Запустите свой код автоматизации
  4. Использование объектной модели SharePoint для загрузки и регистрации измененного файла

Следует отметить, что некоторые администраторы сервера не разрешают запуск кода автоматизации на самом сервере. В этом случае запустите консольное приложение на клиентском компьютере и воспользуйтесь веб-службой списков SharePoint, чтобы выполнить вход и выход.

...