Веб-интерфейс для массовых изменений в базе данных

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

Пример электронной таблицы Excel:

University | 2012 Men's Basketball Attendance | 2012 Out-of-State Tuition
Harvard    |                          100,000 |                  $100,000
UPenn      |                          150,000 |                   $90,000
UCLA       |                           60,000 |                   $40,000

Меня беспокоит правильное определение UniversityID и StatisticID из-за заголовков строк, таких как «UPenn», «Университет Пенсильвании», «Пенсильванский университет», или заголовков столбцов, таких как «Посещаемость мужского баскетбола 2012», «Посещаемость мужского баскетбола 2012», и т.д...

Изначально я планировал иметь сетку текстовых полей, но для них это нецелесообразно (они получают статистику из целой кучи отчетов в разных форматах по тысячам статистических данных и сотням школ).

Я думаю о том, чтобы позволить им загрузить файл Excel, который будет выглядеть примерно так:

          StatID|                             1546 |                      7562
UID |University | 2012 Men's Basketball Attendance | 2012 Out-of-State Tuition
101 |Harvard    |                                  |                  
126 |UPenn      |                                  |                  
634 |UCLA       |                                  |                  

и просто говорю им не возиться с заголовками строк/столбцов и заполнять все, что они хотят изменить, но это все еще кажется довольно рискованным (и вряд ли l33t).

У кого-нибудь есть идеи получше? Я в значительной степени открыт для чего угодно.

Я использую ASP.Net 4.0, SQL Server 2008, jQuery 1.7.1, Excel 2010.

(Я могу сказать им, что они должны использовать современный браузер для этого интерфейса редактирования)


person Greg    schedule 10.01.2012    source источник


Ответы (1)


В итоге я попросил их загрузить/выгрузить электронные таблицы Excel следующим образом: http://epplus.codeplex.com/

person Greg    schedule 21.03.2012
comment
Мне жаль, что вы не получили ответ в этой ветке до того, как нашли свой ответ, но один метод, который я использовал в прошлом, чтобы обойти эту проблему, состоит в том, чтобы предложить пользователю идентифицировать неизвестные значения, выбрав из существующих значений (либо отдельные значения из столбца, либо имена столбцов из таблицы). Затем вы можете заменить ошибочные значения и нормально обработать электронную таблицу. - person Chris; 21.03.2012
comment
спасибо @Chris, используя EPPlus, я смог применить проверку данных и пользовательские свойства к книгам при их загрузке. Затем я создал таблицу данных с соответствующей схемой и добавил каждую строку в электронную таблицу с блоком Try Catch, чтобы создать исключение, чтобы сообщить пользователю, какая ячейка вызывает ошибку. Затем я использовал SQLBulkCopy, чтобы передать его в базу данных. - person Greg; 21.03.2012