Я использую Codeigniter и PHPexcelTo, чтобы попытаться написать массив из результата db на листе excel.Экспорт массива в PHPExcel для создания массива для преобразования строки
У меня есть массив из следующих данных.
Array
(
[0] => stdClass Object
(
[ORDER] => 12334
[DATE] => 2015-10-05
[TEXT] => TEST
[TIME] => 06:03:03
[STATUS] => 1
)
[1] => stdClass Object
(
[ORDER] => 99999
[DATE] => 2015-10-05
[TEXT] => TEST2
[TIME] => 08:03:03
[STATUS] => 0
)
)
При попытке записать данные в файл, используя первенствует phpexcel
я получаю объект класса stdClass
не могут быть преобразованы ошибки строки. Я хотел бы и excel файл с именами столбцов как Order
, Date
, Text
, Time
Состояние и строки, заполненные соответствующими значениями.
Вот мой текущий код
$this->load->library('excel');
$this->excel->setActiveSheetIndex(0);
$this->excel->getActiveSheet()->setTitle('test worksheet');
$this->excel->getActiveSheet()->fromArray($ordersArray, NULL, 'A1');
$filename='export.xls'; //save our workbook as this file name
header('Content-Type: application/vnd.ms-excel'); //mime type
header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
header('Cache-Control: max-age=0'); //no cache
//save it to Excel5 format (excel 2003 .XLS file), change this to 'Excel2007' (and adjust the filename extension, also the header mime type)
//if you want to save it as .XLSX Excel 2007 format
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
//force user to download the Excel file without writing it to server's HD
$objWriter->save('php://output');
Я считаю, что его проблемы с объектами в пределах массива, но я не уверен, как заставить его работать.
благодаря Марку, как бы я получить имена столбцов там? – rob
Вы имеете в виду строку заголовка? Вам нужно будет извлечь эти ключи отдельно, используя что-то вроде '$ headers = array_keys ($ ordersArray [0]);' сначала и записать этот массив в 'A1', тогда ваш фактический' $ ordersArray' в 'A2' –
идеален, работал в первый раз – rob