Excel JavaScript API взаимодействия файловой системы, системные вызовы и вызовы API? - PullRequest
1 голос
/ 24 марта 2020

Я пишу надстройку для Excel, используя Excel Javascript API .

Меня интересует три вещи:

  1. Если надстройка работает в настольном Excel, то может ли надстройка взаимодействовать с файловой системой локального компьютера ?
  2. Если надстройка работает на настольном Excel, может ли она выполнять системные вызовы? Я хочу переместить некоторые файлы и, возможно, вызвать некоторые установленные пакеты.
  3. Наконец, может ли надстройка отправлять данные листа (или даже весь лист) во внешний API? В целом, может ли надстройка отправлять произвольные данные на какой-либо сервер?

Если вы чувствуете себя щедрым на информацию, было бы здорово понять, какие из этих возможностей возможны с помощью VSTO Надстройки .

Заранее спасибо за помощь - она ​​очень ценится!

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Я не знаю о надстройках VSTO, но для веб-надстроек, использующих библиотеку Office JavaScript:

  1. Нет. Надстройка - это веб-приложение, работающее в браузере, встроенном в Excel. По соображениям безопасности веб-приложения не могут получить доступ к файловой системе устройства (за исключением определенных ограниченных действий, таких как сохранение файлов cookie).
  2. Нет. Как и в случае с # 1, веб-приложениям запрещено это делать.
  3. Да, веб-приложение может вызывать любую конечную точку Inte rnet и отправлять данные. Например, вы можете прочитать данные Excel и передать их в качестве полезных данных при вызове REST API.
0 голосов
/ 24 марта 2020

Я бы предположил, что ДА плагин имеет полный доступ для чтения минимально ко всей файловой системе, как будто у Excel есть доступ ко всей файловой системе, способ ограничить это будет ограничить доступ к папке в JavaScript.

Подключаемый модуль, работающий в Excel, безусловно, имеет доступ для записи, поэтому я знаю, что вы можете создать новый файл в новом месте, и я уверен, что вы сравнительно уверены, что ДА вы сможете перемещать, а не копировать и удалять .

Я немного сбит с толку относительно того, как это может быть достигнуто, так как API используются веб-сервисами, если вы должны затем хранить данные, тогда да, другой API может быть создан для того, что вы хотите, но если это тот случай, когда не просто использовать сам Webservice для выполнения того, что вы запрашиваете, а не создавать другой API, поскольку это не имеет смысла, если вы не собираетесь вызывать его снова с внешнего компьютера, но тем не менее он все равно будет иметь быть создан из хранения результатов начального вызова API, как для создания вторичного API.

...