В этой статье я хочу рассказать, как можно сделать выгрузку каких-либо текстовых данных в таблицу excel.
Прежде чем начать решать задачу, необходимо разобраться, как устроен excel. Все хорошо знают что excel – работает с таблицами, и может иметь несколько расширений – xls и csv. В данном примере мы будем работать с csv – поскольку он гораздо проще в обращении. Csv файл хранит в себе значения ячеек таблицы. В таком файле, значения столбцов разделяются каким-либо символом разделителям, по умолчанию это точка с запятой(;). Строки разделяются переводом каретки на новую строку. Таким образом, получается что, для создания excel таблицы нам нужно всего лишь создать файл с расширением csv и текстом, а также записать разделители в нужных местах. И еще один момент – файл должен иметь кодировку windows-1251 – это необходимо, для корректного отображения кириллицы.
Теперь просто дело техники, ниже приведен код, в котором все понятно и прозрачно.
<?php // массив имитирует данные, полученные, например из базы данных $data = array( array('строка1 столбец1', 'строка1 столбец2', 'строка1 столбец3'), array('строка2 столбец1', 'строка2 столбец2', 'строка2 столбец3'), array('строка3 столбец1', 'строка3 столбец2', 'строка3 столбец3') ); $str = ''; foreach($data as $value){ $str .= $value[0].';'.$value[1].';'.$value[2].";\r\n"; } $str = iconv("UTF-8", "WINDOWS-1251", $str); file_put_contents('test.csv', $str); ?>