Microsoft Office Ссылки на сборки Interop

UUID (Универсально Уникальный идентификатор), также известный как GUID (Глобально уникальный идентификатор), согласно RFC 4122 , являются идентификаторами с определенной гарантией уникальности.

лучший способ генерировать их, должен следовать инструкциям по реализации в упомянутом RFC, использовать одного из многих, сообщество исследовало реализации с открытым исходным кодом.

А популярный инструмент Open Source для работы с UUID в JavaScript узел-uuid

Примечание, которое, просто случайным образом генерируя байт идентификаторов байтом или символ символом, не даст Вам те же гарантии как соответствующую реализацию. Кроме того, очень важный, системы, работающие с совместимыми UUID, могут принять решение не принять случайным образом сгенерированные, и много блоков проверки допустимости с открытым исходным кодом на самом деле проверят на допустимую структуру.

UUID должен иметь этот формат:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

, Где M и Н положения могут только иметь определенные значения. В это время единственные допустимые значения для M равняются 1, 2, 3, 4 и 5, так случайным образом генерация, что положение сделало бы большинство результатов недопустимым.

5
задан 6 August 2009 в 15:26
поделиться

3 ответа

По моему опыту, попытка управления сборками взаимодействия с офисом в широком сценарии развертывания - это кошмар. Если вы выполняете развертывание через ClickOnce, даже если вы обойдете проблему с GAC, о которой говорилось выше (возможно, если ваш ИТ-отдел выполнил регистрацию GAC сборок взаимодействия, если это корпоративная среда), вам нужно будет справиться с ситуациями, когда у пользователей есть версия Office, отличная от стандартной - и небеса помогут вам, когда выйдет Office 13 и пользователи начнут обновляться, и это приведет к поломке вашего приложения.

Чтобы обойтись без этой версии -связанные сборки взаимодействия, можно выполнять автоматизацию офиса с помощью pinvoke непосредственно в оболочках Office COM, которые не зависят от версии (они извлекают текущую версию офиса на клиенте из реестра). Однако это будет иметь свои собственные проблемы с развертыванием (вам может потребоваться обновить реестр для обработки компьютеров, на которых установлены PIA, например, что может быть очень сложно при использовании ClickOnce для развертывания), и с ним намного сложнее работать.

Если бы я был на вашем месте, Я бы начал с тщательного изучения функциональности взаимодействия, которую вы используете в своей библиотеке классов - есть ли другой способ предоставить нужную вам функциональность вне офисного взаимодействия на клиентском компьютере? Возможно, это сервис-ориентированное решение, при котором клиенты отправляют запрос серверу на создание настраиваемого офисного документа и предоставляют его для загрузки ...

2
ответ дан 13 December 2019 в 05:39
поделиться

Вот что я знаю по опыту (должен отметить, что мы не использовали ClickOnce, но я не уверен, почему это имеет значение):

Если вы пишете в Excel 2003 API-интерфейсы и развертывание на компьютере с Excel 2007 будет работать, потому что Excel 2007 по сути олицетворяет Excel 2003. Проблема в том, что некоторые API-интерфейсы были изменены, а некоторые из них даже были удалены. Вам придется попробовать это самостоятельно, чтобы убедиться, что ваше приложение затронуто.

На самом деле, это немного хуже. Если вы запускаете свое приложение на компьютере с установленными Excel 2003 и Excel 2007, ваше использование Interop по-прежнему будет использовать Excel 2007.

Одна из возможностей - использовать SpreadsheetGear for .NET , что дает вам совместимость с Excel Элемент управления Windows Forms полностью реализован в одном.

1
ответ дан 13 December 2019 в 05:39
поделиться

Лучше всего использовать библиотеку позднего связывания

https://sourceforge.net/projects/exceldata/

  • no nigthmare with iterops and tlbs с разными офисными версиями
  • поддержка различных офисов
  • легко внести изменения

Однако:

  • эту библиотеку сложно поддерживать
1
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: