Імпорт в базу даних з документа microsoft excel за допомогою epplus за 10 кроків - блог

Простим користувачам подобається працювати з таблицями в Ексель. Логіка роботи програми зрозуміла і проста. Тому дані дуже часто представляються саме в такому вигляді. Розберемо один з варіантів імпорту в реляційну базу даних SQL Server. Хоча точно такий прийом може бути застосований і для імпорту в будь-яку іншу базу, наприклад MySQl.

Імпорт в базу даних з документа microsoft excel за допомогою epplus за 10 кроків - блог

Саме використовуватиметься версія EPPlus.dll 4.0.4.0, проект asp.net mvc razor, мова програмування C #.

  1. створимо UploadController.cs
  2. Додамо туди неймспейси:
  1. Створимо метод зі сторінкою форми завантаження
  1. Створимо вьюха для цього методу Index.cshtml

Зверніть увагу у форми повинен бути прописаний атрибут enctype. Без нього завантаження працювати не буде.

  1. Додамо HttpPost метод Index. У нього буде передано дані з форми.
  1. Надіслати в форму можна який завгодно файл, а не тільки в форматі xlsx. Тому додаємо найпростішу валідацію.

Імпорт буде складатися з наступних етапів:

  • генерація SQL скрипта на основі даних з файлу
  • виконання SQL скрипта в базі одержувача

Умовно вважаємо, що таблиця одержувач називається [TableDestination].

  1. Додамо допоміжний метод в контролер. Він буде використовуватися для читання даних з конкретної комірки таблиці.
  1. Генерація скрипта, привожу шматок коду цілком.
  1. виконуємо запит
  1. Ну і залишилося тільки повідомити про успішну операцію користувачеві. Наприклад так:

Хотілося б додати, що запропонований варіант імпорту не єдино можливий, різних бібліотек для роботи c xlsx багато. Ми працюємо з EPPlus не тільки для читання і для генерації документів і всі завдання вирішуємо цілком успішно.

Схожі статті