• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Загрузка и чтение csv файла в asp.net

Wise

Green Team
19.01.2018
32
11
BIT
0
Чтение csv файла с выводом данных в GridView

В этой статье хочу показать на простом примере, как выполняется загрузка и чтение CSV файла в asp.net с использованием web form. Сразу же скажу, что это всего лишь один из способов для решения данной задачи.

Создание нового сайта

Откройте программу Visual Studio и создайте новый проект (File -> New -> Project).

zagruzka-i-chtenie-csv-fajla-v-asp-net_1.png


В открывшемся окне выберите шаблон ASP.NET Web Application.

zagruzka-i-chtenie-csv-fajla-v-asp-net_2.png


Укажите название проекта, оно же будет являться именем сайта и его место расположение, после чего нажмите на кнопку OK.

zagruzka-i-chtenie-csv-fajla-v-asp-net_3.png


Добавление web формы

В данный момент на нашем сайте уже создано три страницы (home, about и contact). В этом Вы можете легко убедиться, если например, сейчас попробуете запустить данный проект, нажав клавишу F5 или сочетание клавиш Ctrl+F5.

Для работы мы создадим отдельную страницу (web форму), которая будет называться: Cars. На данной странице будет происходить: загрузка, чтением и вывод данных из csv файла.

Перейдите в окно Solution Explorer и нажмите правую кнопку мышки на имени текущего проекта. Затем в появившемся контекстном меню выберите пункт Add -> New Item.

zagruzka-i-chtenie-csv-fajla-v-asp-net_4.png


В появившемся новом окне выберите шаблон: Web Form with Master Page.

zagruzka-i-chtenie-csv-fajla-v-asp-net_5.png


Укажите имя, например Cars.aspx и нажмите на кнопку Add.

Добавление нового пункта меню

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

Перейдите в окно Solution Explorer и откройте файл Site.Master

zagruzka-i-chtenie-csv-fajla-v-asp-net_6.png


Добавьте в списке, который находиться в блоке <nav>, новый пункт меню, с помощью ниже приведенной строки:
<li><a runat="server" href="~/Cars">Cars</a></li>
zagruzka-i-chtenie-csv-fajla-v-asp-net_7.png


Результат Вы можете увидеть на картинке ниже.

zagruzka-i-chtenie-csv-fajla-v-asp-net_8.png


Добавление элемента GridView

Загруженные из csv файла данные мы будем выводить в GridView, который будет расположен на странице Cars.aspx.

Перейдите в окно Solution Explorer и откройте файл Cars.aspx, щелкнув по нему дважды левой кнопкой мышки.

zagruzka-i-chtenie-csv-fajla-v-asp-net_9.png


Перейдите в окно ToolBox и откройте раздел Data.

zagruzka-i-chtenie-csv-fajla-v-asp-net_10.png


Выберите элемент управления GridView и перетащите его в открытый файл в блок с атрибутом ContentPlaceHolderID=»MainContent».

zagruzka-i-chtenie-csv-fajla-v-asp-net_11.png


Сохраните внесённые изменения (Ctrl+S).

Изменение внешнего вида элемента GridView

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

Снова перейдите в Solution Explorer и откройте страницу Cars.aspx.cs

zagruzka-i-chtenie-csv-fajla-v-asp-net_12.png


В самом низу страницы выберите раздел Design.

zagruzka-i-chtenie-csv-fajla-v-asp-net_13.png


Нажмите один раз левой кнопкой мышки на элемент GridView. В результате рядом с ним должна появиться маленькая белая стрелка, нажав на которую откроется меню «GridView Tasks«, которое Вы можете увидеть на картинке ниже.

В появившемся меню выберите пункт Auto Format.

kak-nazhat-na-knopku-v-webbrowser_5.png


В предложенном списке выберите понравившиеся Вам оформление, после чего сначала нажмите на кнопку Apply, чтобы изменения вступили в силу, а затем на кнопку OK для выхода из меню.

zagruzka-i-chtenie-csv-fajla-v-asp-net_14.png


Создание и чтение csv файла

На диске «C» или любом другом диске создайте новый файл cars.csv и поместите в него следующее содержимое:

Audi, Q7, 2010, 180, 3000000
BMW, X5, 2012, 220, 4000000
Toyota, Alion, 2008, 170, 400000
Mazda, Atenza, 2011, 190, 450000

Затем перейдите в окно Solution Explorer и откройте файл Cars.aspx.cs

zagruzka-i-chtenie-csv-fajla-v-asp-net_12.png


После события Page_Load добавьте метод ReadCSVFile, исходный код которого можно взять из статьи: Загрузка csv файла с выводом данных в DataGridView.
Код:
protected void Page_Load(object sender, EventArgs e)
{
}
//добавить!
private DataTable ReadCSVFile(string pathToCsvFile)
{
//....
}
Метод ReadCSVFile отвечает за загрузку и чтение csv файла. Он возвращает полученные данные в виде таблицы типа DataTable.

На этой же странице добавьте:
using System.Data; using System.IO;
zagruzka-i-chtenie-csv-fajla-v-asp-net_15.png


В блоке catch вызов метода MessageBox.Show можно либо вообще убрать, либо просто закомментировать. При этом не
забудьте добавить свой способ обработки ошибок.

Вывод данных из csv файла в элемент GridView

Теперь нам нужно вывести полученные данные из DataTable в элемент управления GridView, который напомню, расположен на странице Cars.

В событии Page_Load, всё того же файла Cars.aspx.cs, добавьте следующий код:
Код:
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = null;
GridView1.DataSource = ReadCSVFile(указываем путь к csv файлу);
GridView1.DataBind();
}
Вот в принципе и всё, теперь нам осталось лишь только проверить проделанную нами работу.

Нажмите на клавишу F5 или сочетание клавиш Ctrl+F5, чтобы запустить web сервер и открыть наш сайт в браузере.

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

zagruzka-i-chtenie-csv-fajla-v-asp-net_16.png


После запуска web сервера должен автоматически произойти переход на страницу Cars, где Вы должны увидеть результат, как на картинке ниже.

zagruzka-i-chtenie-csv-fajla-v-asp-net_17.png
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!