Download phpexcel : https://phpexcel.codeplex.com/
<?php //data to make csv (may be from database, form, etc) $dbdata = array( array("name"=>"name1", "phone"=>"1010101001"), array("name"=>"name2", "phone"=>"1010101002") ); require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php'; require_once 'PHPExcel/Classes/PHPExcel.php'; // Create new PHPExcel object $objPHPExcel = new PHPExcel(); //setting column heading $objPHPExcel->getActiveSheet()->setCellValue('A1',"Name"); $objPHPExcel->getActiveSheet()->setCellValue('B1',"Phone"); //setting column body $i=2; //starting from row 2 bcz row 1 set to header foreach($dbdata as $data) { $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$data['name']); $objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$data['phone']); $i++; } // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); // Redirect output to a client’s web browser (Excel5) header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="export.xls"'); header('Cache-Control: max-age=0'); // If you're serving to IE 9, then the following may be needed header('Cache-Control: max-age=1'); /* // If you're serving to IE over SSL, then the following may be needed header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header ('Pragma: public'); // HTTP/1.0 */ $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; ?>