Проверка данных надстроек Excel - PullRequest
0 голосов
/ 08 февраля 2012

Я изо всех сил пытаюсь убедить себя, какая идея лучше. Любые советы будут полезны. Вот история:

У меня есть лист Excel, полный проектов с каждой строкой, представляющей проект. Мне нужно проверить данные, чтобы проверить правильность. Проект действителен тогда и только тогда, когда каждый элемент данных этого проекта также допустим. Есть также люди, которые работают над проектом. Может быть много людей, которые работают над одним проектом (предположим, что человек может работать только над одним проектом). Таким образом, для каждого человека мне нужно проверить один набор полей и убедиться, что проект, на который он ссылается, действительно существует. После того, как все проверено, я отправлю проекты и людей в базу данных.

Еще одна вещь, которую нужно учитывать, может быть много тысяч проектов. Благодаря этой добродетели может быть еще много тысяч людей.

Я имею в виду две техники проверки:

  1. Сделать проекты и объекты людей ответственными за проверку своих данных. Это означает, что мне нужно будет создать объекты во время проверки, а затем нажать их после того, как все они будут проверены. Я не думаю, что можно сохранить столько объектов в памяти для проверки, а затем отправить их позже.
  2. Используйте отдельную функцию для проверки данных. Функция будет только просматривать данные, определять их тип и проверять, соответствуют ли они ограничениям, независимо от того, принадлежит ли это человеку или проекту. Это позволяет избежать созданных объектов проекта и людей, но это также означает, что для создания этих объектов мне нужно еще раз передать данные. Это также означает, что если я добавлю еще одно поле в проект, мне придется добавить еще один соответствующий элемент в функцию проверки.

1 Ответ

0 голосов
/ 09 февраля 2012

Определенно номер 1. Создание нескольких тысяч объектов будет хорошо.Скорее всего, у вас уже достаточно памяти для работы, это довольно много :) Просто держите ваши объекты как можно меньше, и все будет хорошо.

Если бы это был я, я бы даже не стал писать его как надстройку VSTO Excel - я бы написал отдельную веб-страницу ASP.NET, где они могли бы загрузить свой файл Excel.Оттуда вы можете проанализировать его, проверить его и вставить в вашу БД.Просто выложите сообщение «Ошибка в ячейке X, потому что Y отсутствует».Если вы напишите его как надстройку, вам понадобится кто-то, кто установит ее на всех компьютерах пользователей, и любые исправления ошибок нужно будет вытолкнуть и обновить, что будет PITA.Я бы пошел по маршруту VSTO, только если вам действительно нужно было поработать с умом в Excel.

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