logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • Статьи
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Как сделать преобразование файла csv: убрать столбцы, отсортировать, отфильтровать
  • Как ежедневно строить графики из csv файлов

    24 августа 2017 г.

    Допустим вы ведете файл Excel с продажами сотрудников. Вы бы хотели видеть результаты продаж за

    Подробнее
  • Как напечатать конверты из списка адресов

    24 августа 2017 г.

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

    Подробнее
  • Как сделать PDF документ из текстового файла

    25 августа 2017 г.

    Сегодня мы поговорим о тех случаях, когда вам нужно сделать PDF документ, но на компьютере

    Подробнее
  • Как сделать свадебные приглашения из Excel таблицы

    25 августа 2017 г.

    У вас намечается торжество, по случаю бракосочетания? Вам нужно напечатать большое количество пригласительных? Это может

    Подробнее
  • Как объединить несколько csv файлов в один

    29 августа 2017 г.

    Хранить данные в csv файла зачастую очень удобно. Всегда можно открыть файл любым текстовым редактором

    Подробнее

Как сделать преобразование файла csv: убрать столбцы, отсортировать, отфильтровать

24 августа 2017 г.

Табличный редактор MS Excel хорошо справляется с редактированием CSV файлов. Вы можете сортировать и фильтровать данные, убирать ненужные колонки, добавлять нумерацию. Но что, если у вас нет табличного редактора? Редактирование csv файла превращается в ад. Вам нужно отслеживать разделители, чтобы понять к какой колонке относятся данные, сортировка же вообще становится практически не выполнимой задачей, особенно при работе с большими объемами данных.

Теперь подумаем, как можно выйти из такой ситуации. У нас есть FastReport.Net или FastReport Desktop. Мы можем использовать csv в качестве источника данных отчета. Внутри отчета совершить преобразования данных. Затем – экспортировать обратно в csv файл.

Давайте возьмем для примера небольшой csv файл со списком имен и адресов:

 

Также тут присутствует колонка Zip – почтовый индекс. Определимся с преобразованиями, которые мы хотим сделать:

  1. Убрать колонку Zip;
  2. Вынести из адреса название города в отдельное поле;
  3. Отсортировать записи по имени;
  4. Убрать из набора данных фамилию Гусев.

Создаем новый отчет. Добавляем новый источник данных CSV файл.

На странице отчета размещаем поля FIO и Address. Причем поле Address добавим дважды. Первое из добавленных полей Address отредактируем так: [Substring([Адреса.Address],0,6)]. Таким образом мы выделяем город Москва из адреса. Если бы названия городов были бы разными, нам потребовалась бы более сложная обработка. Для этого потребуется воспользоваться скриптом отчета. Для добавленного на бэнда текстового объекта нужно создать событие BeforePrint(). В скрипт добавляем использование библиотеки: using System.Text.RegularExpressions;

А вот так выглядит код обработчика события:

1
2
3
4
5
6
7
8
9
private void Text5_BeforePrint(object sender, EventArgs e)
 {
 Regex rgx = new Regex("([^,]|\n)+", RegexOptions.IgnoreCase);
 Match match = rgx.Match(Report.GetColumnValue("Адреса.Address").ToString());
 if (match.Success)
 {
 Text5.Text = match.Value.ToString();
 }
 }

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

Но, вернемся ко второму полю Address, которое мы добавили. Так как мы отделили название города в отдельный столбец, тут должна остаться остальная часть адреса. Начиная с восьмой позиции в строке:

[Substring([Адреса.Address],8)]

Теперь отсортируем данные по фамилиям. Для этого делаем двойной клик по бэнду «Данные». Выбираем вкладку «Сортировка». Нам доступно три поля для сортировки. Задаем только первое значение – FIO:

 

Осталось отфильтровать данные по фамилии. Для этого, опять делаем двойной клик по бэнду «Данные». В появившемся окне выбираем вкладку «Фильтр» и вводим выражение Substring([Адреса.FIO],0,5)!="Гусев".

 

Запустим отчет в режиме предварительного просмотра:

 

Итак, мы убрали колонку ZIP, отсортировали список по фамилиям, разделили адрес на город и улицу, убрали строку для фамилии Гусев.

Теперь сделаем экспорт в файл csv. Для этого, в режиме предварительного просмотра нажимаем кнопку: .

И выбираем «CSV формат…». В диалоговом окне нажимаем Ок и выбираем место сохранения файла. В итоге получаем вот такой CSV файл:

 

Как видите, преобразовать документ средствами FastReport оказалось достаточно просто, по затратам времени сопоставимо с работой в редакторе Excel. Таким образом, FastReport становится альтернативным инструментом обработки CSV файлов.

О продукте Скачать Купить
avatar
Dmitriy Fedyashov
Технический писатель
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport Desktop CSV

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • Онлайн поддержка
  • FAQ
  • Видео уроки
  • Форум
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2022 ООО «Фаст Репортс»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой