Как использовать данные из файла Excel в качестве источника данных ASP.Net MVC App - PullRequest
0 голосов
/ 01 мая 2019

Итак, я знаю, что этот вопрос кажется довольно широким, поэтому позвольте мне дать некоторые сведения. Там, где я работаю, наши инженеры используют эти огромные файлы Excel, полные данных (номера материалов, стоимость и т. Д.). Я ищу хороший способ использовать эти файлы в качестве источника данных. Я знаю, что импорт .xlsx против файла .csv занимает больше времени. Было бы полезно иметь какую-то запущенную программу, которая периодически преобразовывает данные в файл CSV, а затем использует этот файл в качестве источника данных? Или есть способ синхронизировать данные Excel с базой данных?

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

То, на что я уже смотрел

Использование LinqToSQL

Импорт Excel на сервер

Любые указатели приветствуются.

1 Ответ

1 голос
/ 01 мая 2019

Несколько предложений:

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

Таким образом, ваш выбор не будет «просачиваться» в другие части вашего кода. Вы сможете изменить свое мнение, не изменяя все. Во-вторых, когда вы попытаетесь создать другую реализацию, вы сразу увидите, какие методы она должна поддерживать.

Вот несколько причин не для непосредственного использования Excel в качестве источника данных, а для определения собственной базы данных:

  • Если файлы Excel не предназначены для этой цели, они могут непредсказуемо измениться, и тогда ваше приложение не будет работать. (Или, что еще хуже, он «работает», но использует неправильные столбцы или листы, и данные выглядят одинаково, и никто не замечает какое-то время.) Если вы импортируете файлы Excel в базу данных, и формат файла изменится, он все равно создаст работать, но эта работа будет в точке, где вы импортируете данные, а не в остальной части вашего приложения. Вы храните «изменчивые» вещи, которые могут отличаться от других частей вашего кода.
  • Правдоподобный, распространенный сценарий состоит в том, что позже вам также потребуется включить данные из другого источника. Если ваше приложение читает Excel, то теперь вы должны выяснить, как получить данные откуда-то еще в книгу Excel. Это выполнимо, но совсем не весело. Гораздо проще, если вы читаете из базы данных, а Excel - это только один из способов получения данных. Тогда гораздо проще включить данные из других источников.

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

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