Как объединить несколько 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 минут. А сколько бы вы потратили времени если бы подбирали имена компаний по идентификатору вручную?

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

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

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.