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

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.