О web-разработке
и даже немного больше...

Как генерировать CSV-файлы в Bitrix?

CSV файлы удобно использовать для обмена данными между разными системами, передавая таким образом табличные данные посредством текстового файла. В предыдущей статье уже говорилось о том, как можно импортировать CSV-файлы в Bitrix посредством API. Теперь самое время поговорить о том, как можно сгенерировать CSV-файл в системе Bitrix. Этот пост может быть весьма полезен тем, кому нужно сделать кастомный экспорт данных из системы, и стандартных опций как правило может быть недостаточно. Если вы смотрели предыдущую статью, то вы наверняка уже знаете, что для работы с CSV-файлами в системе битрикс существует класс CCSVData. В нашем примере мы будет использовать его так же и для генерации CSV-файла, давайте приступим.

Перед использованием класса CCSVData подключим библиотеку, в которой он находится.

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/csv_data.php");

Далее создаём объект – экземпляр класса CCSVData:

$csvFile = new CCSVData();

Указываем какие разделители будут иметь поля:

$fields_type = 'R';
$delimiter = ";";
$csvFile->SetFieldsType($fields_type);
$csvFile->SetDelimiter($delimiter);

Далее формируем массив, который будет представлять из себя первую строку в файле – заголовки столбцов.

$arrHeaderCSV = array("NAME","CODE","SORT","PREVIEW_TEXT","DETAIL_TEXT");

Сохраняем «шапку» файла:

$csvFile->SaveFile("astra.csv", $arrHeaderCSV);

Каждая новая строка создаётся и сохраняется в CSV-файле аналогичным образом. Это означает, что вы можете в цикле записывать данные в файл, посредством метода SaveFile(). Каждая колонка должна соответствовать порядковому расположению относительно шапки. Таким образом получиться правильная структура таблицы. Сами колонки могут быть произвольного значения, т.е. вы формируете их на своё усмотрение.
В итоге, вы можете формировать CSV-файл с нужными данными для вас, это бывает удобно, когда необходимо подогнать формат под оправку данных в другие системы. На этом у меня всё, всего доброго!

Опубликован: 27.02.2020 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Комментарии

  1. Виталий пишет:

    Очень заинтересовала статья! Сейчас есть у меня задача вытягивать различные произвольные данные - например, время прихода и ухода сотрудника, текущие задачи, их статус.
    Из статьи совсем ничего не понял - куда вводить команды (это команды sql, php?), как определить название переменных, которые мне нужно вытащить.
    Буду очень благодарен за пояснение или что нужно почитать, чтобы понять это все.

  2. htmaker пишет:

    Это пример использования API Bitrix для формирования CSV, данные могут быть произвольные, передаёте в виде массива, см. $arrHeaderCSV

Добавить комментарий для Виталий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта