CSV файлы удобно использовать для обмена данными между разными системами, передавая таким образом табличные данные посредством текстового файла. Теперь самое время поговорить о том, как можно сгенерировать 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-файл с нужными данными для вас, это бывает удобно, когда необходимо подогнать формат под оправку данных в другие системы. На этом у меня всё, всего доброго!

Комментрии
Комементариев нет, будьте первыми....