У меня есть этот код PHPExcel :
/** Error reporting */ error_reporting(E_ALL); date_default_timezone_set('Europe/London'); /** Include PHPExcel */ require_once '../Classes/PHPExcel.php'; $objPHPExcel = new PHPExcel(); //$objPHPExcel->setActiveSheetIndex(0) // ->setCellValue('A1', 'Hello') // ->setCellValue('A2', 'world!') $row = 2; while($row_data = mysql_fetch_assoc($result)) { $col = 1; foreach($row_data as $key=>$value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $col++; } $row++; } // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Results'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client's web browser (Excel5) header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="Output.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit;
В основном я динамически запрашиваю базу данных и помещаю ее в файл excel.
Я просто хочу жестко закодировать в нескольких заголовках. Поэтому для A1 я хотел бы жестко записать в «Привет» и A2: «Мир!» при запросе базы данных и отправке данных, начинающихся в столбце B
$objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Hello') ->setCellValue('A2', 'world!'); $col = 1; while($row_data = mysql_fetch_assoc($result)) { $row = 1; foreach($row_data as $value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; } $col++; }
Обратите внимание, что Excel5 имеет ограничение в 256 столбцов, поэтому, если у вас более 255 записей данных, дополнительные столбцы будут удалены из сохраненной книги, если вы сохраните этот формат.