Вопрос по развертыванию на уровне документов Excel - PullRequest
2 голосов
/ 30 ноября 2010

У нас есть проект уровня документа VSTO Excel. Документ Excel, созданный в рамках этого проекта, имеет рабочую таблицу (называемую стартовой таблицей), в которой есть некоторые элементы управления winforms (например, кнопки, флажки и т. Д.), И есть много других рабочих таблиц, которые в основном содержат данные. Мы разверните это решение с помощью установщика Windows на клиентских компьютерах. Версия Excel - это Excel 2007 и VSTO 2010.

Всякий раз, когда наше решение развертывается на клиентских компьютерах, клиенты обычно настраивают документ Excel на своем компьютере. Как будто они добавят несколько новых рабочих листов помимо тех, которые мы добавили. Они также устанавливают некоторые надстройки, такие как PI, для ввода данных в эти таблицы. Теперь у нас обычно есть запрос на улучшение от наших клиентов и большинство этих улучшений добавляем новые листы в документ Excel. Почти 99% запросов добавляют новый лист. Код за каждым листом - это некая бизнес-логика, которая в основном запускается элементами управления winform на стартовом листе.

Теперь каждый раз, когда они устанавливают улучшенную версию решения, они заканчивают тем, что получают новый документ Excel, а затем им приходится заново настраивать его (например, добавлять несколько листов, писать макросы и т. Д.), Что является большой работой для них. , Это огромная проблема для нас в наши дни нашим клиентам это совсем не нравится.

Есть ли способ, которым они могут развернуть новые версии решения и при этом сохранить свои настройки документов Excel без изменений? Мой опыт работы с VSTO невелик, и помощь будет высоко оценена.

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

Я бы изменил дизайн проекта так, чтобы код и элементы шаблона (листы, форматирование, формулы, элементы управления, инкапсулированные данные и т. Д.) Были отделены от документов пользователя excel, но могли создавать или изменять документы пользователя.EUI будет Excel Меню / Панели инструментов или вкладки ленты.Обычно это можно сделать, создав надстройку Excel (XLA, XLL, COM или надстройка автоматизации).

0 голосов
/ 01 января 2011

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

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