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

29.08.2017

Хранить данные в csv файла зачастую очень удобно. Всегда можно открыть файл любым текстовым редактором и подправить. Но как быть, если в одном документе у вас есть ссылки на данные из другого? Вам нужно объединить два файла в один, для удобства дальнейшей работы с csv документом. Сделать это вручную – очень трудоемко, с помощью Excel – потребует знания макросов. Но, по счастливой случайности у вас под рукой FastReport.

В этой статье мы рассмотрим, как с помощью FastReport.Net объединить два логически связанных csv файла в один.

Итак, мы имеем два csv файла. Один – список заказов, второй – список клиентов. Нам нужно отображать названия и телефоны клиентов для каждого заказа. Таблица Orders имеет внешний ключ CustNo к таблице Customers. В свою очередь таблица Customers имеет первичный ключ CustNo. Как вы понимаете мы будем связывать две таблицы именно по этому полю.

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

 

И еще один источник данных – второй файл.

В итоге мы получаем два подключения:

 

Теперь нам необходимо связать две таблицы. Для этого нажимаем на выпадающее меню «Действия» и выбираем «Новая связь».

 

Выбираем главную таблицу, например Orders. Подчиненная таблица Customers. Для обеих таблиц определяем поля-ключи. В нашем случае в обеих таблицах ключи называются CustNo:

 

Теперь обратите внимание на окно «Данные»:

 

Для таблицы Customers появилась связанная таблица Orders.

Теперь разместим на бэнде «Данные» поле Company из таблицы Customers. А также все поля, кроме CustNo из связанной таблицы Orders. Так как полей достаточно много, они не помещаются на странице отчета. Открываем настройки страницы в верхней панели инструментов «Отчет»:

 

На вкладке «Прочее» устанавливаем свойства: Широкая страница в дизайнере, бесконечная высота, бесконечная ширина. Последние два свойства позволят расширить страницу отчета до необходимых размеров в режиме просмотра отчета.

Перед экспортом отчета в CSV файл я дам пару советов по форматированию. Чтобы экспорт не содержал лишние колонки и строки, старайтесь располагать поля на странице встык. А длч заголовка данных уменьшаем высоту до минимума:

 

Теперь запускаем отчет в режиме предварительного просмотра.

 

Нажимаем кнопку «Сохранить» и выбираем «CSV формат…». Соглашаемся с установками экспорта по умолчанию и задаем расположение сохранения файла. В результате – имеем csv файл с информацией о заказах и именем компании вместо идентификатора CustNo.

 

Таким способом можно объединить сколь угодно много таблиц из разных csv-файлов. Создание такого объединенного файла заняло у нас 10 минут. А сколько бы вы потратили времени если бы подбирали имена компаний по идентификатору вручную?

.NET FastReport Десктоп CSV .NET FastReport Десктоп CSV
11 марта 2025

Как использовать FastReport .NET Avalonia на Fedora Workstation с протоколом Wayland

В данной статье мы разберем, как запустить FastReport .NET Avalonia на операционной системе «Fedora Workstation 39» с протоколом Wayland.
7 марта 2025

Как создать QR-код с картинкой в FastReport .NET

В статье разобрались как вставлять картинку в QR Code из дизайнера отчётов FastReport .NET всего за пару кликов.
20 февраля 2025

Использование матричных принтеров для печати чеков

В этой статье мы рассмотрим, как интегрировать матричный принтер в процесс создания и вывода отчетов с использованием FastReport .NET.