Привет, ребята, новичок в надстройках VSTO, и я разрабатываю проект, который должен иметь возможность извлекать любой файл excel из указанного пользователем местоположения и изменять его. Он отлично работает до тех пор, пока пользователь не выберет файл из sharepoint (это работает, имея открыватель файлов, чтобы пользователь мог просматривать любое местоположение). Я просмотрел документацию Microsoft и в Интернете и даже не могу найти начальное руководство по тому, как это сделать. Любые предложения о том, как я могу получить файл из sharepoint и изменить его?Доступ к файлу, хранящемуся в sharepoint, из надстройки Excel VSTO
0
A
ответ
0
Обычно объектная модель Excel может обрабатывать локальные файлы. Поэтому я предлагаю загружать файлы на локальный жесткий диск, прежде чем вносить какие-либо изменения.
Например, вы можете использовать следующий код для загрузки файлов из URL-адресов:
using System;
using System.ComponentModel;
using System.IO;
using System.Net;
using System.Threading;
class FileDownloader
{
private readonly string _url;
private readonly string _fullPathWhereToSave;
private bool _result = false;
private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(0);
public FileDownloader(string url, string fullPathWhereToSave)
{
if (string.IsNullOrEmpty(url)) throw new ArgumentNullException("url");
if (string.IsNullOrEmpty(fullPathWhereToSave)) throw new ArgumentNullException("fullPathWhereToSave");
this._url = url;
this._fullPathWhereToSave = fullPathWhereToSave;
}
public bool StartDownload(int timeout)
{
try
{
System.IO.Directory.CreateDirectory(Path.GetDirectoryName(_fullPathWhereToSave));
if (File.Exists(_fullPathWhereToSave))
{
File.Delete(_fullPathWhereToSave);
}
using (WebClient client = new WebClient())
{
var ur = new Uri(_url);
// client.Credentials = new NetworkCredential("username", "password");
client.DownloadProgressChanged += WebClientDownloadProgressChanged;
client.DownloadFileCompleted += WebClientDownloadCompleted;
Console.WriteLine(@"Downloading file:");
client.DownloadFileAsync(ur, _fullPathWhereToSave);
_semaphore.Wait(timeout);
return _result && File.Exists(_fullPathWhereToSave);
}
}
catch (Exception e)
{
Console.WriteLine("Was not able to download file!");
Console.Write(e);
return false;
}
finally
{
this._semaphore.Dispose();
}
}
private void WebClientDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Console.Write("\r --> {0}%.", e.ProgressPercentage);
}
private void WebClientDownloadCompleted(object sender, AsyncCompletedEventArgs args)
{
_result = !args.Cancelled;
if (!_result)
{
Console.Write(args.Error.ToString());
}
Console.WriteLine(Environment.NewLine + "Download finished!");
_semaphore.Release();
}
public static bool DownloadFile(string url, string fullPathWhereToSave, int timeoutInMilliSec)
{
return new FileDownloader(url, fullPathWhereToSave).StartDownload(timeoutInMilliSec);
}
}
Чтобы использовать код:
static void Main(string[] args)
{
var success = FileDownloader.DownloadFile(fileUrl, fullPathWhereToSave, timeoutInMilliSec);
Console.WriteLine("Done - success: " + success);
Console.ReadLine();
}
Смежные вопросы
- 1. Доступ к файлу PDF, хранящемуся в .jar
- 2. Пользователь запретил доступ к файлу, хранящемуся в sharepoint, из ссылки SSRS
- 3. сетевой путь к файлу, хранящемуся в SQL?
- 4. Доступ к файлу Excel из Sharepoint с помощью R
- 5. VSTO Ошибка надстройки надстройки DLL
- 6. Доступ к файлу, хранящемуся в папке проекта в Visual Studio
- 7. Чтение данных диаграммы для надстройки VSTO Excel
- 8. Доступ к файлу, хранящемуся на сервере в моем сервлете
- 9. Как выйти из надстройки VSTO
- 10. Как получить доступ к контекстуальным свойствам для надстройки VSTO?
- 11. Доступ к файлу, находящемуся в списке Sharepoint
- 12. Как получить доступ к файлу Excel (хранящемуся на жестком диске) из интернета
- 13. Доступ к файлу csv, хранящемуся на сервере Heroku
- 14. Включить книгу Excel в надстройку Excel VSTO
- 15. VSTO: Приложить метаданные к ячейке в Excel?
- 16. Отладка надстройки Excel VSTO при запуске путем двойного щелчка по существующему файлу
- 17. Доступ к XML-файлу из groovy-скрипта
- 18. Загрузка надстройки Outlook VSTO из встроенной надстройки COM при запуске
- 19. Доступ к типам приложений VSTO-addin из VBA (Excel)
- 20. Как получить доступ к файлу резервной копии Sharepoint без Sharepoint?
- 21. Доступ к файлу Excel 2013 в ASP.NET
- 22. Доступ к массиву, хранящемуся внутри другого массива excel vba
- 23. Доступ к словарю, хранящемуся в UITabBarController
- 24. Доступ к файлу конфигурации из рабочего процесса VS Sharepoint
- 25. Доступ к элементу json, хранящемуся в переменной
- 26. Доступ к строке состояния Outlook из дополнения VSTO
- 27. Процесс обновления надстройки Excel?
- 28. Как использовать надстройки Word VSTO?
- 29. C# Многопоточный доступ к файлу Excel
- 30. Проблема развертывания надстройки Excel
Привет спасибо за это я дам ему шанс, и пусть вас знать! – Harry
Привет, я сожалею, что у меня было достаточно времени, чтобы посмотреть на это, подскажет ли пользователь пароль или имя пользователя или тайм-аут? – Harry