Перейти к содержимому

Travelpayouts. Импорт CSV-отчетов по компаниям в Excel

Импорт CSV-отчетов по компаниям от Travelpayouts в Excel с помощью макроса VBA, без типичных недостатков обычного открытия файлов. Скачать Excel-файл с макросом.

  1. Открытие CSV-отчета от Travelpayouts в Excel
  2. Импорт CSV-отчета в Excel с помощью VBA

Как известно, отчеты по компаниям-партнерам Travelpayouts можно скачать в формате CSV на странице «Статистика» соответствующей компании, нажав на кнопку «Экспорт заказов в CSV». Чтобы проанализировать полученную информацию, ее необходимо загрузить в Excel.

Открытие CSV-отчета от Travelpayouts в Excel

Чтобы CSV-файлы открывались по умолчанию в Excel, необходимо в свойствах CSV-файла на вкладке «Общие» в пункте «Приложение» выбрать «Microsoft Excel». Впрочем, Travelpayouts формирует отчеты уже как «Файл Microsoft Excel, содержащий значения, разделенные запятыми (.csv)» с одноименной программой по умолчанию.

Обычно, по двойному клику или с помощью контекстного меню CSV-файл с разделителем «,» правильно открывается в Excel. В Excel 2010, по умолчанию, разделителем является «;», поэтому в нем отчеты по компаниям от Travelpayouts открываются по правилу: одна строка в одну ячейку, в один столбец. Чтобы не менять системные настройки, а отчет открывался правильно, можно, предварительно открыв CSV-файл, вставить сверху строку и добавить в нее текст (без кавычек): «sep=,». Эта запись укажет программе Excel, что разделитель в текущем CSV-файле - «,».

Недостатки обычного открытия CSV-отчетов по компаниям от Travelpayouts в Excel:

  • ширина столбцов не подстраивается под ширину текста,
  • числа загружаются в текстовом формате с разделителем дробной части «.»,
  • числа формата «00.00» с целой частью от 1 до 28-31 (в зависимости от количества дней в месяце) и дробной частью от 1 до 12 (по количеству месяцев в году) автоматически преобразуются в дату: 25.06 → 25.июн.

Ширина столбцов автоматически подстраивается под ширину текста при импорте данных с помощью мастера («Данные» → «Из текста»), но остальные недостатки сохраняются.

Импорт CSV-отчета в Excel с помощью VBA

Чтобы избежать всех недостатков обычного открытия CSV-отчетов по компаниям от Travelpayouts в Excel я написал макрос, который импортирует данные из CSV-файла в текущую книгу на новый лист.

Процесс импорта прост: нажимаете кнопку «Загрузить отчет из файла .csv», выбираете CSV-файл, секунда и все готово.

Что делает макрос:

  1. отображает окно выбора CSV-файла;
  2. считывает выбранный CSV-файл;
  3. создает новый лист и заполняет считанными данными;
  4. меняет «.» на «,» при записи чисел в 4 и 5 столбцах;
  5. форматирует строку заголовков, подгоняет ширину столбцов, добавляет автофильтр, закрепляет верхнюю строку.

Скачать Excel-файл с макросом для импорта CSV-отчетов по компаниям от Travelpayouts.