$xls = new PHPExcel();
$xls->setActiveSheetIndex(0);
$sheet = $xls->getActiveSheet();
$sheet->setTitle('Участники');
$sheet->setCellValue("A1", 'Категория участия');
$sheet->setCellValue("B1", 'Дата');
$sheet->setCellValue("C1", 'Имя');
$sheet->setCellValue("D1", 'email');
$sheet->setCellValue("E1", 'Телефон');
$sheet->setCellValue("F1", 'Группа');
$sheet->setCellValue("G1", 'Год выпуска');
$sheet->setCellValue("H1", 'Организация');
$sheet->setCellValue("I1", 'Коментарий');
foreach($strOut as $key => $user)
{
$index = $key+2;
$sheet->setCellValue("A".$index, $user->txt);
$sheet->setCellValue("B".$index, $user->date);
$sheet->setCellValue("C".$index, $user->name);
$sheet->setCellValue("D".$index, $user->email);
$sheet->setCellValueExplicit("E".$index, $user->phone, PHPExcel_Cell_DataType::TYPE_STRING);
$sheet->setCellValue("F".$index, $user->group);
$sheet->setCellValue("G".$index, $user->year);
$sheet->setCellValue("H".$index, $user->org);
$sheet->setCellValue("I".$index, $user->comment);
$sheet->getStyle('D'.$index)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
}
foreach(range('A','I') as $columnID)
$sheet->getColumnDimension($columnID)->setAutoSize(true);
$objWriter = PHPExcel_IOFactory::createWriter($xls, 'Excel2017');
$objWriter->save(str_replace('.php', '.csv', __FILE__));
$objWriter->save('register.csv');
в чем может быть ошибка?данные не записываются
Т.к PHPExel уже давно не поддерживается, а на замену ему пришёл PhpSpreadsheet, то логично использовать его.
PhpSpreadsheet is the next version of PHPExcel. It breaks compatibility to dramatically improve the code base quality (namespaces, PSR compliance, use of latest PHP language features, etc.).
Because all efforts have shifted to PhpSpreadsheet, PHPExcel will no longer be maintained. All contributions for PHPExcel, patches and new features, should target PhpSpreadsheet develop branch.
However PhpSpreadsheet is still unstable and not yet released. So if you need stability stick to PHPExcel until this project is released. If you prefer to live on the edge you can try to install this project manually via composer, but there is no guarantee and it will likely break again before an official release
Я не знаю, как вы подключаете библиотеку - это оставим на вас. Стоит также отметить, что имеется масса примеров использования, которые идут вместе с библиотекой и которые можно запустить локально.
Попробуйте записать хоть что-нибудь хотя бы в одну ячейку. Например, если ставить всё через composer и использовать IDE типа phpStorm, которая подхватывает все пути на лету, получится следующее
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$format='xlsx';
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, $format);
$writer->save('hello.'.$format);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости